2011-04-08 72 views
2

我有一个div,里面有很多复选框。我想知道,如果没有人检查或不。我有这样的代码:是否Jquery自动检查is()方法的数组的每个元素?

$("#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

我的最后一个问题是我怎么能写的不是代码的像:

$("#profileAssistPopUp [type='checkbox']").is('not:checked') //This is not working 

PS:我没有测试它足够的,但是我觉得它的工作原理有时有有时没有?

+0

为什么你正在使用的ID“profileAssistPopUp”用于所有的复选框,我不明白。我更喜欢名字属性,甚至是一个班级。然后选择$('input [type = checkbox] [name = profileAssistPopUp'') – Imrul 2011-04-09 05:43:15

回答

0

从jQuery文档:

检查当前的匹配集元素对选择器并返回true,如果这些元素中至少有一个与选择器匹配。

来源 - 如果一个或多个复选框被选中http://api.jquery.com/is/

你的函数将返回true。如果你需要确保它们全部被检查过,你需要使用$ .each遍历匹配的元素,并单独检查每个元素。

而且,正确的选择应该是:

$("#profileAssistPopUp [type=checkbox]").is(':checked') 
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 
+0

$(“#profileAssistPopUp [type ='checkbox']”)。is(':checked')works。它返回true或false,但是$(“#profileAssistPopUp [type ='checkbox']”)。not(':checked')返回未检查元素的数组。 $(“#profileAssistPopUp [type ='checkbox']”)。is(':not(:checked)')对我来说总是返回true? – kamaci 2011-04-08 10:34:08

+0

另外我试试$(“#profileAssistPopUp [type ='checkbox']”)。is('checked'),并且每次都检查其中一个是否为false。 – kamaci 2011-04-08 10:43:59

+0

你可以使用$('input [type = checkbox] [name = profileAssistPopUp]')。not(':checked')。length来检测如何不检查和最后一个$(“#profileAssistPopUp [type ='复选框']“)。是(':not(:checked)')是错误的,所以我从我的答案中删除了它。 – Imrul 2011-04-09 05:37:03

相关问题