Search code examples
javascripthtmlcheckboxlist

Create Checkbox with Javascript


I am trying to create a checkbox with javascript when a button is clicked. I am really struggling, I have searched the net for help and this is the closest I've got but it does not work.

What have I done wrong?

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

Solution

  • After you add an element that has an id of checkBoxes and some semicolons ; the code actually works.

    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);
       }
    }
    input[type='checkbox']
    {
       margin-right:20px;
    }
    <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>