如何使用jQuery检查和禁用几个复选框?

时间:2011-05-14 15:13:10

标签: jquery checkbox

我有以下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(),这是如此优雅。

感谢。

1 个答案:

答案 0 :(得分:3)

你可以这样做:

$(":checkbox").val(myChoices).filter(":checked").attr("disabled",true);

以下是jsfiddle http://jsfiddle.net/P4VhK/

中的示例