изменение отмеченного свойства на нескольких флажках - PullRequest
2 голосов
/ 26 августа 2011

Я хочу использовать jQuery для установки атрибута checked

Как это можно сделать?

 var arr = new Array(1, 2, 3);

           <input type="checkbox" name="chk" value="1"/>
           <input type="checkbox" name="chk" value="2"/>
           <input type="checkbox" name="chk" value="3"/>
           <input type="checkbox" name="chk" value="4"/>
           <input type="checkbox" name="chk" value="5"/>
           <input type="checkbox" name="chk" value="6"/>
           <input type="checkbox" name="chk" value="7"/>

Я хочу найти значение arr eq в флажке ...

           <input type="checkbox" name="chk" value="1" checked/>
           <input type="checkbox" name="chk" value="2" checked/>
           <input type="checkbox" name="chk" value="3" checked/>
           <input type="checkbox" name="chk" value="4"/>
           <input type="checkbox" name="chk" value="5"/>
           <input type="checkbox" name="chk" value="6"/>
           <input type="checkbox" name="chk" value="7"/>

Ответы [ 6 ]

4 голосов
/ 26 августа 2011
for (var count = 0; count < arr.length; count++) {
    $("input[type='checkbox'][value='" + arr[count] + "']").attr("checked", true);
}

Демо: http://jsfiddle.net/vfXZy/

1 голос
/ 26 августа 2011

Попробуйте это:

for (var i in arr)
    $('input[value="' + arr[i] + '"]').prop('checked', true);

Скрипка: http://jsfiddle.net/ZkMsD/

1 голос
/ 26 августа 2011

попробуйте это:

<script type="text/javascript">
for(var i=0; i<arr.length; i++) {
    $('input[value=' + arr[i] + ']').attr('checked','checked');
}
</script>
1 голос
/ 26 августа 2011

Я думаю, что вы ищете это, который в основном читает значения массива и проверяет флажок с соответствующим значением.

var $input = $("input");
$.each(arr, function(){
   $input.filter("[value='"+this+"']").attr("checked", true);
});

В приведенном выше коде он находит input элементы только один раз и сохраняет их в локальной переменной, а в цикле он просто фильтрует, так что ему не нужно каждый раз находить элемент.

0 голосов
/ 26 августа 2011
    var check_checkboxes = [1,2,5]; 
    $.each( check_checkboxes, function( index, value ){
        $('input:checkbox[value="'+ value +'"]').attr('checked', true ); 
    });
0 голосов
/ 26 августа 2011
var $cbs = $('input:checkbox');
$.each([1,2,3], function(){
    $cbs.filter('[value="'+this+'"]').prop('checked', true);   
})

Пример JSFiddle

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...