我做了类似的事情,检查所有复选框都已选中:
var container = $("#container");
$(container).find("input[type='checkbox'][checked != 'checked']").length == 0
但是当我使用checked属性进行检查时,至少选择了一个框,它总是给我长度= 0,我的代码如下:
$(container).find("input[type='checkbox'][checked = 'checked']").length > 0
区别在于我使用'!='的第一个代码片段,而在第二个代码片段中我使用了“=”。那么为什么它不适用于第二种情况呢?
我知道我可以通过以下方式使用它:
$(container).find("input[type='checkbox']:is('checked')").length > 0
$(container).find("input[type='checkbox']:checked").length > 0
但仍然想了解为什么上面的东西不起作用:O
我不知道这是否是原因,但我选择了All复选框,这是通过为所有复选框设置'checked'属性值来实现的
$(container).find("input[type='checkbox']").attr("checked","checked")
为了取消选中我的所有复选框:
$(container).find("input[type='checkbox']").removeAttr("checked","checked")
可能是因为我在取消选择时删除了attr,当我再次通过UI点击复选框时,我没有得到其检查的属性值。是这种情况吗?
答案 0 :(得分:0)
然后尝试这个
$('#container').find("input[type=checkbox]:checked").length > 0
或
$.each($("input[type=checkbox]:checked"), function() {
alert('Checked')
});