if (this.checked != true) {
this.checked = true;
}
else {
this.checked = false;
}
上述代码启用Check up All
和Check out All
功能。然而,我发现,如果用户反向选中任何一个复选框,则每个输出都会反向。
单击button
时,我应该如何更改才能获得以下内容?
- 勾选所有框(Acheive(
- 选中任何未选中的框(问题(
- 勾选
all
框时,勾选每个框(Acheive(
Belows是完整的代码:
function display() {
$.ajax({
url: "test.php",
type: "get",
data: {
a: $('#selectest option:selected').val()
}
}).done(function(data) {
$('#result').text(data);
alert("Checking test");
$('input:checkbox[class='+data+']').each(function() {
if(this.checked != true){
this.checked = true;
}
else{
this.checked = false;
}
});
});
}
用户名Undefined
是否真的可用,或者您是否在矩阵中发现了故障?
你的问题与你的代码相矛盾。这个答案是给你的问题的。您的代码似乎是通过ajax调用设置复选框状态,这是完全不同的。
由于您使用的是jQuery,因此可以使用:checked选择器。然后,您可以检查选中复选框的数量是否等于复选框的总数,并相应地切换.prop('checked')
。
在此代码段中,如果选中了所有复选框,则将取消选中所有复选框(项目3(。如果未选中所有复选框,则将选中所有复选复选框(项目1和2(。
$('button').on('click', function() {
$('input[type="checkbox"]').prop('checked',
$('input[type="checkbox"]:checked').length !==
$('input[type="checkbox"]').length
);
});
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
<button>toggle</button>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>