javascript - 使用数组中的值填充复选框

标签 javascript html arrays

我有一些复选框,我将这些值放入数组中:

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

相关文章:

javascript - 在 var 函数中覆盖 jQuery 添加的内联样式

javascript - 已弃用的 "target"属性的任何正式替代方案?

javascript - 如何检查选取框是否滚动

javascript - 如何使用外部脚本向 svg 图形对象添加事件

javascript - 使用 Sendemail 的 HTML 表单

javascript - 过滤器不是自定义管道 Angular 2 中的函数

java - 返回类型 Boolean,无法打印值

javascript - 如何根据对象辅助函数的键从数组中删除重复的对象?

javascript - 禁用 IE 11 输入清除 'X' 按钮

javascript - 如何使用带有 Masonry 布局的同位素来避免间隙 sortby random