我需要确定是否在客户端未选中 CheckBoxList 中的任何复选框(重复未选中),以便我可以使用 JQuery 将顶部的“全选”选项更改为选中/未选中。
其他操作(选中/取消选中所有选项和取消选中“全选”检查的任何选项)都可以正常工作,但最好让“全选”反映所有其他复选框的状态。
假设我已经有var cbs = $('#myCheckBoxList :checkbox')
什么我必须应用到它来找到选择 == false 的任何复选框?
我找到的所有示例都是关于查找单个复选框的选中状态,但我需要知道是否有任何未选中。
尝试过cbs.find(':[checked="false"]')
等,但我找不到find()
仅按属性过滤的好例子。
我正在编写的全选切换行为的完整代码
(包括从下面Chandu的答案得出的最终解决方案):
$(window).load(function () {
var cbs = $('.myCheckBoxList :checkbox');
cbs.eq(0).click(function () {
var toggle = this.checked;
cbs.attr('checked', toggle);
});
cbs.slice(1).click(function () {
if (!this.checked) {
cbs.eq(0).attr('checked', false);
} else {
cbs.eq(0).attr('checked', cbs.slice(1).filter(':not(:checked)').length == 0);
}
});
});