-2

我尝试了这段代码,但没有工作。请任何人帮助我。

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

2 回答 2

1

您的选择器缺少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等。

于 2018-05-02T15:45:59.983 回答
1

您可以forEach()为您checked的数组使用,在您的内部forEach()可以使用以下方法。

jQuery 1.6+

您可以使用新.prop()方法:

演示

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().

演示

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 />

于 2018-05-02T17:45:33.067 回答