Выбранные значения отмечены только в флажках в jquery - PullRequest
0 голосов
/ 02 мая 2018

Я попробовал этот код, но не работает. Пожалуйста, кто-нибудь, помогите мне.

var numbers = [649,583,613,670,520]; //checkbox values
    $.each(numbers,function(val,text) {
        $("input:checkbox").setAttribute("checked", "checked");
        });

Ответы [ 2 ]

0 голосов
/ 02 мая 2018

Вы можете использовать forEach() для вас checked массив и внутри forEach() вы можете использовать следующие методы.

jQuery 1.6 +

Вы можете использовать новый метод .prop():

DEMO

var numbers = [649, 583, 613, 670, 520]; //checkbox values

numbers.forEach(v => {
//set checked using prop by passing true value
  $(`input:checkbox[value=${v}]`).prop("checked",true);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" value="649">649<br />
<input type="checkbox" value="583">583<br />
<input type="checkbox" value="613">613<br />
<input type="checkbox" value="670">670<br />
<input type="checkbox" value="12">12<br />
<input type="checkbox" value="232">232<br />
<input type="checkbox" value="234">234<br />
<input type="checkbox" value="2343">2343<br />

jQuery 1.5.x и ниже

Метод .prop() недоступен, поэтому вам необходимо использовать .attr().

DEMO

var numbers = [649, 583, 613, 670, 520]; //checkbox values

numbers.forEach(v => {
//set checked using attr by passing true value
  $(`input:checkbox[value=${v}]`).attr("checked",true);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
<input type="checkbox" value="649">649<br />
<input type="checkbox" value="583">583<br />
<input type="checkbox" value="613">613<br />
<input type="checkbox" value="670">670<br />
<input type="checkbox" value="12">12<br />
<input type="checkbox" value="232">232<br />
<input type="checkbox" value="234">234<br />
<input type="checkbox" value="2343">2343<br />
0 голосов
/ 02 мая 2018

В вашем селекторе отсутствует number, с которым его следует проверять. Будет работать что-то вроде следующего:

var numbers = [649,583,613,670,520];
$.each(numbers,function(index, number) {
  $("input:checkbox[value='"+number+"']").prop("checked", true);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="checkbox" value="600" />600<br />
<input type="checkbox" value="613" />613<br />
<input type="checkbox" value="649" />649

Примечание: всегда используйте .prop() при работе с логическими атрибутами или свойствами, такими как disabled, checked, selected и т. Д.

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