我有以下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(),这是如此优雅。
感谢。
答案 0 :(得分:3)
你可以这样做:
$(":checkbox").val(myChoices).filter(":checked").attr("disabled",true);
以下是jsfiddle http://jsfiddle.net/P4VhK/
中的示例