checkbox.attr("checked) as if 句子从句
checkbox.attr("checked) as if sentence clause
我有一个复选框,我想将其用作我的 jQuery 程序的 if 子句,但似乎无法正确使用 if 语句(我希望在复选框被选中时发生一些事情) .这意味着,我不希望在选中该框时发生某些事情,如果在调用函数时选中该框,我希望它作为函数的一部分发生。我在下面设置了一个 fiddle 来说明发生了什么。这将 return 相同(“我不想看到以前的选择!)无论是否选中 #prePick 复选框,我不知道为什么。
function checkPick() {
if($('#prePick').prop('checked')) {
console.log("I want to see the previous picks!");
}
else {
console.log("I don't want to see previous picks!");
}
};
checkPick();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="options">
<input type='checkbox' name='prePick'> Show Logged Picks
</div>
您不想只检查 属性,您想要响应已检查的事件。这就是为什么您需要绑定到复选框事件:
$("#prePic").change(function() {
if(this.checked) {
console.log("I want to see the previous picks!");
}
});
您需要使用 prop 函数或者是按照 Jquery 标准方式的函数。
工作示例:FIDDLE
样本:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>prop demo</title>
<style>
p {
margin: 20px 0 0;
}
b {
color: blue;
}
</style>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<input id="check1" type="checkbox" checked="checked">
<label for="check1">Check me</label>
<p></p>
<script>
$( "input" ).change(function() {
var $input = $( this );
$( "p" ).html(
".attr( \"checked\" ): <b>" + $input.attr( "checked" ) + "</b><br>" +
".prop( \"checked\" ): <b>" + $input.prop( "checked" ) + "</b><br>" +
".is( \":checked\" ): <b>" + $input.is( ":checked" ) ) + "</b>";
}).change();
</script>
</body>
</html>
嗯...我想我终于明白你的问题了:)
您不关心处理复选框的选中事件。如果复选框被选中,你只是想做一些事情:)
嗯,你不用 attr
,你需要使用 prop
,像这样:
$('#myCheckbox').prop('checked')
为您的输入添加一个 ID,因为您使用的是 ID“#prePick”的选择器
<input type='checkbox' id='prePick' name='prePick'>
我有一个复选框,我想将其用作我的 jQuery 程序的 if 子句,但似乎无法正确使用 if 语句(我希望在复选框被选中时发生一些事情) .这意味着,我不希望在选中该框时发生某些事情,如果在调用函数时选中该框,我希望它作为函数的一部分发生。我在下面设置了一个 fiddle 来说明发生了什么。这将 return 相同(“我不想看到以前的选择!)无论是否选中 #prePick 复选框,我不知道为什么。
function checkPick() {
if($('#prePick').prop('checked')) {
console.log("I want to see the previous picks!");
}
else {
console.log("I don't want to see previous picks!");
}
};
checkPick();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="options">
<input type='checkbox' name='prePick'> Show Logged Picks
</div>
您不想只检查 属性,您想要响应已检查的事件。这就是为什么您需要绑定到复选框事件:
$("#prePic").change(function() {
if(this.checked) {
console.log("I want to see the previous picks!");
}
});
您需要使用 prop 函数或者是按照 Jquery 标准方式的函数。 工作示例:FIDDLE 样本:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>prop demo</title>
<style>
p {
margin: 20px 0 0;
}
b {
color: blue;
}
</style>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<input id="check1" type="checkbox" checked="checked">
<label for="check1">Check me</label>
<p></p>
<script>
$( "input" ).change(function() {
var $input = $( this );
$( "p" ).html(
".attr( \"checked\" ): <b>" + $input.attr( "checked" ) + "</b><br>" +
".prop( \"checked\" ): <b>" + $input.prop( "checked" ) + "</b><br>" +
".is( \":checked\" ): <b>" + $input.is( ":checked" ) ) + "</b>";
}).change();
</script>
</body>
</html>
嗯...我想我终于明白你的问题了:) 您不关心处理复选框的选中事件。如果复选框被选中,你只是想做一些事情:)
嗯,你不用 attr
,你需要使用 prop
,像这样:
$('#myCheckbox').prop('checked')
为您的输入添加一个 ID,因为您使用的是 ID“#prePick”的选择器
<input type='checkbox' id='prePick' name='prePick'>