我有一些复选框,我将这些值放入数组中:
<ul>
<li><input type="checkbox" name="daily[]" value="0"></li>
<li><input type="checkbox" name="daily[]" value="1"></li>
<li><input type="checkbox" name="daily[]" value="2"></li>
<li><input type="checkbox" name="daily[]" value="3"></li>
<li><input type="checkbox" name="daily[]" value="4"></li>
</ul>
我正在使用此函数将值放入数组中:
var days = $('input[name^='+daily+']:checked').map(function(){
return parseInt($(this).val(),10);
}).get();
这运作良好.. 但现在我想做相反的事情。为了填写编辑表单,我想在拥有数组时检查复选框。我怎样才能以一种好的方式做到这一点?
最佳答案
迭代数组 - 为复选框元素创建选择器 - 验证元素是否存在 - 设置 checked
属性:
for (var i = 0; i < days.length; i++) {
var value = days[i];
var selector = 'ul li input[value="' + value + '"]')
var elem = $(selector);
if (elem) {
elem.prop("checked", true);
}
}
或者:
$('input[name^='+daily+']').prop("checked", function() {
return days.indexOf(this.value) > -1;
});
关于javascript - 使用数组中的值填充复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36043780/