2011-11-18 103 views
0
<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? 我想:jQuery禁用複選框按值排列

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);  
+0

如果1,3是一致的,你可以用「奇」選擇,將通過這樣的伎倆 – alonisser

+1

方式這個非常複雜的選擇器和過度具體的左側,應該是不太具體的,你不需要名稱選擇器等。 – alonisser

+0

我發現你的問題很難理解這種格式 - 你可以編輯改進你的問題或小號撻新的? – alonisser

回答

5

的問題是你的屬性選擇不正確。當你真的需要讓他們成爲兄弟姐妹時,你嵌套了屬性選擇器。此外,您需要在複選框的名稱中跳出[]。請嘗試以下

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

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

+0

順便說一句 - 如果當你說停用你的意思是取消選中你應該用.prop代替attr(「checked」,false) – alonisser

+0

很棒 - 除了這個答案之外(比如@JaredPar) - 問好問題,除了好的答案外,驅動這個社區 – alonisser

1

使用的方式,而不是託

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