我有一个div,那个div里面有很多复选框。我想知道,如果他们都没有检查过。我有这样的代码:
$("#profileAssistPopUp [type='checkbox']").is('checked')
这回报我其中任何一个都不是真的。首先,我想知道代码行是真的吗?
我的第二个主要问题是
$("#profileAssistPopUp [type='checkbox']")
返回一个数组。如何为数组写.is('checked')
? Does it automatically checks every element of it and does mean if any of them checked an array is checked or not
?
我的最后一个问题是如何编写代码的not not:
$("#profileAssistPopUp [type='checkbox']").is('not:checked') //This is not working
PS:我没有对它进行足够的测试,但我觉得它有时会有效,有时候不行吗?
答案 0 :(得分:2)
使用
$("#profileAssistPopUp [type='checkbox']").is(':checked')
现在第三个使用
$("#profileAssistPopUp [type='checkbox']").not(':checked')
对于第二个:它使用您的选择过滤数组。 你可以看到自己,转到这个链接:http://code.jquery.com/jquery-latest.js 并找到:
您也可以使用此
$("#profileAssistPopUp [type='checkbox']").not(':checked').length > 0
答案 1 :(得分:0)
来自jQuery文档:
针对选择器检查当前匹配的元素集,如果这些元素中至少有一个与选择器匹配,则返回true。
来源 - http://api.jquery.com/is/
如果选中一个或多个复选框,则您的函数将返回true。如果你需要确保它们都被检查过,你需要使用$ .each遍历匹配的元素并分别检查每个元素。
此外,正确的选择器将是:
$("#profileAssistPopUp [type=checkbox]").is(':checked')