DEV Community

Cover image for Some effective ways to create checkboxes
Jharna Khatun
Jharna Khatun

Posted on

Some effective ways to create checkboxes

There are 3 ways to create checkbox :

  1. By direct html code
  2. By JS code, create each element, attributes, content and appendChild child to parent
  3. By JS code, with innerHTML and Template literal

By direct html code :

<div>
  <input type="checkbox" name="color" id="red">
  <label for="red">Red</label>
 </div>
 <div>
  <input type="checkbox" name="color" id="green">
  <label for="green">Green</label>
 </div>
 <div>
  <input type="checkbox" name="color" id="Blue">
  <label for="Blue">Blue</label>
 </div>
 <div>
  <input type="checkbox" name="color" id="yellow">
  <label for="yellow">Yellow</label>
 </div>
Enter fullscreen mode Exit fullscreen mode

By JS code, create each element, attributes, content and appendChild child to parent :

<body>
    <div id="root"></div>

    <script>
      const root = document.getElementById("root");
      const colors = ["Red", "Green", "Blue", "Yellow"];
      colors.forEach((color) => {
        // create id
        const id = color;

        // create label
        const label = document.createElement("label");
        label.setAttribute("for", id);

        // create checkbox input element
        const input = document.createElement("input");
        input.type = "checkbox";
        input.name = "color";
        input.id = id;
        input.value = color;

        // appendChild child to parent
        label.appendChild(input);
        label.appendChild(document.createTextNode(color));
        root.appendChild(label);
      });
    </script>
  </body>
Enter fullscreen mode Exit fullscreen mode

By JS code, with innerHTML and Template literal :

<body>
    <div id="root"></div>

    <script>
      const root = document.getElementById("root");
      const colors = ["Red", "Green", "Blue", "Yellow"];
      const checkbox = colors.map((color)=>`<label for="${color}">
        <input type="checkbox" name="color" id="${color}" value="${color}" >
        ${color}</label>
      `
    ).join("");

    root.innerHTML = checkbox;
    </script>
  </body>
Enter fullscreen mode Exit fullscreen mode

Top comments (0)