我有以下
HTML代码:
<input type="checkBox" value="1" /> <input type="checkBox" value="2" /> ... <input type="checkBox" value="30" />
并且用户已经检查过上次访问中的一些框,并且这些值存储在变量中(从服务器获取其值):
myChoices = ["1","5","12"]
很容易检查myChoices中具有值的所有复选框,可以通过以下方式完成:
$.(':checkBox').val(myChoices)
但我想检查并禁用这些框.我确实有如下解决方案:
$(':checkBox').each(function() {if ($.inArray(this.value,myChoices) != -1) {this.checked=true; this.disabled=true;} })
它工作正常,但我只是想知道是否有一个更简单的解决方案,类似于val(),这是如此优雅.
谢谢.
解决方法
你可以这样做:
$(":checkBox").val(myChoices).filter(":checked").attr("disabled",true);
这是jsfiddle http://jsfiddle.net/P4VhK/中的一个例子