【发布时间】:2016-01-28 13:34:01
【问题描述】:
如何检查 chkInv*(chkInv1 和 chkInv2)中的任何复选框是否被选中并排除 chkUnrelated。
<label for="chkInv2-0">
<input name="chkInv2" id="chkInv2-0" type="checkbox" value="1">
chkInv2
</label>
<label for="chkInv2-1">
<input name="chkInv2" id="chkInv2-1" type="checkbox" value="2">
chkInv2
</label>
<label for="chkInv3-0">
<input name="chkInv3" id="chkInv3-0" type="checkbox" value="3">
chkInv3
</label>
<label for="chkInv3-1">
<input name="chkInv3" id="chkInv3-1" type="checkbox" value="4">
chkInv3
</label>
<label for="chkUnrelated">
<input name="chkUnrelated" id="chkUnrelated-1" type="checkbox" value="4">
chkUnrelated
</label>
我当前的代码检查页面的所有复选框。
var checkBoxes = $('input:checkbox:checked').length;
我可以使用某种正则表达式吗?
var checkBoxes = $('input:checkbox[name=chkInv*]:checked').length;
【问题讨论】:
-
[name^=chkInv]匹配以chkInv开头的名称。这里列出了所有 jQuery 属性选择器:api.jquery.com/category/selectors/attribute-selectors -
你也可以使用
:not([name=chkUnrelated])。 -
var ischecked = $('input[name^=chkInv]').is(':checked');