jQuery禁用复选框数组按值

时间:2011-11-18 15:55:48

标签: jquery checkbox

<input type="checkbox" class="largecheckbox" name="chk_wms[]" value="m1" />
<input type="checkbox" class="largecheckbox" name="chk_wms[]" value="m2" />
<input type="checkbox" class="largecheckbox" name="chk_wms[]" value="m3" />
<input type="checkbox" class="largecheckbox" name="chk_wms[]" value="m4" />

如何禁用m1和m3? 我试过了:

J("input:checkbox[name=chk_wms[value='m1']]").attr("disabled", true);   

我想在一个jQuery调用中组合命令,如:

J("input:checkbox[name=chk_wms[value='m1']], input:checkbox[name=chk_wms[value='m3']] ").attr("disabled", true);    

2 个答案:

答案 0 :(得分:5)

问题是您的属性选择器不正确。当你需要让它们成为兄弟姐妹时,你已经嵌套了属性选择器。此外,您需要在复选框的名称中转义[]。请尝试以下

J('input:checkbox[name="chk_wms\[\]"][value="m1"]').attr('disabled', true);

小提琴:http://jsfiddle.net/xMwMQ/

答案 1 :(得分:1)

使用prop而不是

J('input:checkbox[name="chk_wms"][value="m1"]').prop('disabled', true);