如何检查复选框数组中的复选框是否使用复选框数组的ID进行检查?
我使用以下代码,但无论id如何,它始终返回已选中复选框的计数 .
function isCheckedById(id) {
alert(id);
var checked = $("input[@id=" + id + "]:checked").length;
alert(checked);
if (checked == 0) {
return false;
} else {
return true;
}
}
20 回答
我知道OP想要jquery,但在我的情况下,纯JS是答案所以如果有人喜欢我在这里并且没有jquery或者不想使用它 - 这里是JS答案:
如果选中ID为myCheck的输入,则返回true;如果未选中,则返回false .
就那么简单 .
如果选中复选框,则上面的代码返回true,否则返回false .
以下所有方法都很有用:
建议应该避免使用DOMelement或内联“this.checked”,而应该使用jQuery on方法事件监听器 .
只是在我的示例中说情况是一个对话框,然后在关闭对话框之前验证复选框 . 以上都没有,How to check whether a checkbox is checked in jQuery?和jQuery if checkbox is checked似乎也不起作用 .
到底
这样就可以调用类,然后调用ID . 而不仅仅是ID . 这可能是由于此页面上的嵌套DOM元素导致问题 . 解决方法在上面 .
根据jQuery documentation,有以下方法可以检查是否选中了复选框 . 让我们考虑一个复选框作为示例(使用所有示例检查工作jsfiddle)
Example 1 - With checked
Example 2 - With jQuery is, NOTE - :checked
Example 3 - With jQuery prop
检查工作jsfiddle
你可以使用这段代码,
以下所有方法都是可行的
像这样的东西可以帮助
如果选中该复选框,则会得到 .
对于具有相同名称的复选框数组,您可以通过以下方式获取已选中的复选框列表:
然后循环遍历它们,看看你可以做什么检查:
要查找已检查的数量,您可以执行以下操作:
选中切换复选框
ID必须在您的文档中是唯一的,这意味着您 shouldn't 执行此操作:
相反,删除ID,然后按名称或包含元素选择它们:
现在jQuery:
用于检查复选框是否已选中的jQuery代码:
或者:
用于检查和设置复选框的简单演示 .
jsfiddle!
使用下面的代码
你可以试试这个:
你可以这样做;
Working Fiddle
HTML
jQuery
甚至更简单;
如果
checkbox
被选中,它将返回true
否则undefined
实际上,根据jsperf.com,DOM操作最快,然后$() . prop()后跟$() . is()!!
以下是语法:
我个人更喜欢
.prop()
. 与.is()
不同,它也可用于设置值 .对于带有id的复选框
你可以干脆做
您将获得
true
或false
作为上述语法的返回值 . 您可以在if子句中将其用作普通布尔表达式 .使用此代码,您可以选中是否在不同的复选框组或多个复选框中选中或不选中一个复选框 . 使用此功能,您无需删除ID或动态ID . 此代码使用相同的ID .
参考Link
您可以通过jquery使用以下任何建议的代码 .