使用Javascript创建复选框

时间:2018-01-02 00:58:35

标签: javascript html checkboxlist

我正在尝试在单击按钮时使用javascript创建一个复选框。我真的很挣扎,我已经在网上寻求帮助了,这是我得到的最接近的但是没有用。

我做错了什么?

<p>Click the buttons to create a Checkbox.</p>

<button onclick="addCheckBox()">Create a button</button>
<input id="check" name="checkBoxes">
<script>
function addCheckBox() {

    var ColorsAvailable = document.getElementById('checkBoxes');
    var check_value = new Array( )
    check_value[0] = "Yellow"
    check_value[1] = "Red"
    check_value[2] = "Green"


   for(var count in check_value)
    {
      var color=document.createElement("input");   
      color.value=(check_value[count] + '</br>');
      color.type="checkbox";
      color.id="color" + count;
      ColorsAvailable.appendChild(color);
   }
}

</script>

3 个答案:

答案 0 :(得分:1)

输入的ID为check而不是checkBoxes。我改变了它,你也不能直接附加在输入中,所以我把它添加到父节点,但你可以改为在另一个地方。

&#13;
&#13;
<p>Click the buttons to create a Checkbox.</p>

<button onclick="addCheckBox()">Create a button</button>
<input id="checkBoxes" name="checkBoxes">
<script>
function addCheckBox() {

    var ColorsAvailable = document.getElementById('checkBoxes');
    var check_value = new Array( )
    check_value[0] = "Yellow"
    check_value[1] = "Red"
    check_value[2] = "Green"


   for(var count in check_value)
    {
      var color=document.createElement("input");   
      color.value=(check_value[count] + '</br>');
      color.type="checkbox";
      color.id="color" + count;
      ColorsAvailable.parentNode.appendChild(color);
   }
}

</script>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

添加id checkBoxes和部分分号;的元素后,代码实际上有效。

&#13;
&#13;
function addCheckBox() {

    var ColorsAvailable = document.getElementById('checkBoxes');
    var check_value = new Array();
    check_value[0] = "Yellow";
    check_value[1] = "Red";
    check_value[2] = "Green";

    var color, p, br;

   for(var count in check_value)
    {
      color=document.createElement("input");   
      color.value=(check_value[count] + '</br>');
      color.type="checkbox";
      color.id="color" + count;
      p =document.createElement("span");
      p.innerHTML = check_value[count] + ": ";
      br =document.createElement("br");
      ColorsAvailable.appendChild(p);
      ColorsAvailable.appendChild(color);
      ColorsAvailable.appendChild(br);
   }
}
&#13;
input[type='checkbox']
{
   margin-right:20px;
}
&#13;
<p>Click the buttons to create a Checkbox.</p>

<button onclick="addCheckBox()">Create a button</button>
<input id="check" name="checkBoxes">

<div id="checkBoxes"></div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

将复选框设为DIV。

<div id="check" name="checkBoxes"></div>

并更改此

var ColorsAvailable = document.getElementById('check');