Javascript 从数组中获取值并选中(勾选)相关复选框

Javascript 从数组中获取值并选中(勾选)相关复选框,javascript,html,forms,checkbox,Javascript,Html,Forms,Checkbox,我需要你的帮助 如何从数组中获取值并使用HTML5的数据属性选中(勾选)它们的相关复选框 即 var x=“[星期一、星期四]” …经过一些处理后,以下复选框中会有一个勾号: <input name="recurr_weekday" type="checkbox" data-weekday="monday"> <input name="recurr_weekday" type="checkbox" data-weekday="thursday"> 您可以使用属性选择器

我需要你的帮助

如何从数组中获取值并使用HTML5的数据属性选中(勾选)它们的相关复选框

var x=“[星期一、星期四]”
…经过一些处理后,以下复选框中会有一个勾号:

<input name="recurr_weekday" type="checkbox" data-weekday="monday">
<input name="recurr_weekday" type="checkbox" data-weekday="thursday">

您可以使用属性选择器

var x = ["monday", "thursday"];

for (let prop of x) {
  document.querySelector("input[type=checkbox][data-weekday=" + prop + "]")
  .checked = true;
}

可以使用属性选择器

var x = ["monday", "thursday"];

for (let prop of x) {
  document.querySelector("input[type=checkbox][data-weekday=" + prop + "]")
  .checked = true;
}

您可以使用以下代码:

x.forEach(function (weekDay){
    var htmlElement = document.querySelectorAll('[data-weekday="'+weekDay+'"]').checked = true;
});

它将遍历数组x,每个值都将找到具有data weekday value属性的对应元素。

您可以使用以下代码:

x.forEach(function (weekDay){
    var htmlElement = document.querySelectorAll('[data-weekday="'+weekDay+'"]').checked = true;
});

它将遍历数组x,每个值都将找到具有data weekday value属性的对应元素。

下面是另一个具有一些优点的解决方案:

  • 即使在同一天有多个复选框,例如,两个带有
    data weekday=“monday”
    的复选框,它也可以工作
  • 它取消选中所选日期数组中
    recurr\u weekday
    复选框
  • 它只查询文档一次,效率更高,尤其是当文档很大时
document.querySelector('button')。onclick=checkTheDays;
var myDays=[“星期一”、“星期四”];
函数checkTheDays(){
var复选框=document.querySelectorAll('[name=“recurr\u weekday”]');
对于(变量i=0;i-1;
}
}
第一周:
(最初全部未选中)

第2周: (最初全部选中)
星期一和星期四结账
这里是另一个具有一些优点的解决方案:

  • 即使在同一天有多个复选框,例如,两个带有
    data weekday=“monday”
    的复选框,它也可以工作
  • 它取消选中所选日期数组中
    recurr\u weekday
    复选框
  • 它只查询文档一次,效率更高,尤其是当文档很大时
document.querySelector('button')。onclick=checkTheDays;
var myDays=[“星期一”、“星期四”];
函数checkTheDays(){
var复选框=document.querySelectorAll('[name=“recurr\u weekday”]');
对于(变量i=0;i-1;
}
}
第一周:
(最初全部未选中)

第2周: (最初全部选中)
星期一和星期四结账
Super Duper谢谢您!超级傻瓜谢谢你!