【问题标题】:Javascript - cannot dynamically create checked checkboxesJavascript - 无法动态创建选中的复选框
【发布时间】:2018-08-01 09:57:24
【问题描述】:

我有以下函数可以动态创建一堆复选框:

var drawGroups = function(){
  var groups = document.getElementById("groups"); //groups element is a div
  groups.innerHTML = "";

  //groupList is an array containing strings
  for(var i in groupList){
    var groupName = groupList[i];

    var cb = document.createElement('input');
    cb.type = "checkbox";
    cb.checked = true; //this seems to do nothing
    groups.appendChild(cb);

    groups.innerHTML += groupName + "<br/>"
  }
}

我读到的所有内容都表明cb.checked = true 应该选中该复选框,但它似乎没有做任何事情。如何创建处于选中状态的复选框?

【问题讨论】:

    标签: javascript checkbox


    【解决方案1】:

    你需要设置defaultChecked属性:

    var groupList = ['foo','bar','baz','biz','boz'];
    
    var drawGroups = function(){
      var groups = document.getElementById("groups"); //groups element is a div
      groups.innerHTML = "";
    
      //groupList is an array containing strings
      for(var i in groupList){
        var groupName = groupList[i];
    
        var cb = document.createElement('input');
        cb.type = "checkbox";
        cb.defaultChecked = true;
        groups.appendChild(cb);
    
        groups.innerHTML += groupName + "<br/>"
      }
    }
    drawGroups();
    &lt;div id="groups"&gt;&lt;/div&gt;

    【讨论】:

      【解决方案2】:

      你可以使用setAttribute的方法:

      cb.setAttribute('checked',  true);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-03-06
        • 1970-01-01
        • 2010-10-26
        • 1970-01-01
        • 2013-01-25
        • 1970-01-01
        相关资源
        最近更新 更多