Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用数组中的值填充复选框_Javascript_Html_Arrays - Fatal编程技术网

Javascript 用数组中的值填充复选框

Javascript 用数组中的值填充复选框,javascript,html,arrays,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=

我有一些复选框,用于将值放入数组:

<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 arr = ["2","3","4"];
var elems = $('input[name^='+daily+']');
arr.forEach(function(val){
 elems.filter("[value="+ val +"]").prop("checked",true);
});
需要注意的要点:

  • 尝试在迭代阶段之外缓存选择器,这会 提高性能

  • 迭代所有元素并根据 当您有100个阵列时,阵列将导致严重的性能缺陷+ 元素,数组大小为2

    • 你可以像

      var arr = ["2","3","4"];
      var elems = $('input[name^='+daily+']');
      arr.forEach(function(val){
       elems.filter("[value="+ val +"]").prop("checked",true);
      });
      
      需要注意的要点:

      • 尝试在迭代阶段之外缓存选择器,这会 提高性能

      • 迭代所有元素并根据 当您有100个阵列时,阵列将导致严重的性能缺陷+ 元素,数组大小为2


      迭代数组-为checkbox元素创建选择器-验证元素存在-设置
      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);
          }
      }
      

      迭代数组-为复选框元素创建选择器-验证元素是否存在-设置
      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);
          }
      }
      
      您可以这样做:

      var天数=[0,2,3];
      var$复选框=$('input[name^=daily]');
      天。forEach(函数(天){
      $checkbox.get(day).checked=true;
      });
      
      
      
      您可以这样做:

      var天数=[0,2,3];
      var$复选框=$('input[name^=daily]');
      天。forEach(函数(天){
      $checkbox.get(day).checked=true;
      });