我尝试了这段代码,但没有工作。请任何人帮助我。
var numbers = [649,583,613,670,520]; //checkbox values
$.each(numbers,function(val,text) {
$("input:checkbox").setAttribute("checked", "checked");
});
您的选择器缺少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等。
您可以forEach()为您checked的数组使用,在您的内部forEach()可以使用以下方法。
您可以使用新.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 />
该.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 />