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