我在js中有一个数组,其中包含我要设置的复选框名称。 问题是我做不好,我不知道为什么我错了 这是我的代码
var array = ['one','two word','three'];
for(var i = 0; i < array.length;i++)
$(':checkbox[value="'+array[i]+'"]').prop('checked', true);
使用此HTML
<input type="checkbox" name="one[]" value="two word">
<input type="checkbox" name="one[]" value="four">
<input type="checkbox" name="one[]" value="one">
使用此代码我的复选框保持未选中状态,有人可以告诉我原因吗?
答案 0 :(得分:3)
True不是checked
属性的有效属性值。该值可以省略,也可以为checked
var array = ['one','two word','three'];
for(var i = 0; i < array.length;i++) {
$(':checkbox[value="'+array[i]+'"]').prop('checked', 'checked');
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="one[]" value="two word">
<input type="checkbox" name="one[]" value="four">
<input type="checkbox" name="one[]" value="one">
&#13;
这里是W3C的规范
https://www.w3.org/TR/1999/REC-html401-19991224/interact/forms.html#h-17.4
答案 1 :(得分:0)
它对我有用,除了一个项目有三个值而不是四个..
我修改了你的代码并得到了所有三个来检查你可以设置一个值 http://www.w3schools.com/jsref/prop_checkbox_value.asp
<input type="checkbox" name="one[]" value="two word">
<input type="checkbox" name="one[]" value="four">
<input type="checkbox" name="one[]" value="one">
var array = ['one','two word','four'];
for(var i = 0; i < array.length;i++) {
$(':checkbox[value="'+array[i]+'"]').prop('checked', true);
}
这是一个小提琴Sample fiddle