Как проверить и отключить несколько чекбоксов с помощью jQuery?

у меня есть следующий 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 ответов


вы можете сделать это так:

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

вот пример в jsfiddle http://jsfiddle.net/P4VhK/