JSFiddle - React, Tailwind, and code Playground

HTML

<div class="multiselect">
  <div class="selectBox" onclick="showCheckboxes(0)">
    <select>
      <option>check box1</option>
    </select>
    <div class="overSelect"></div>
  </div>
  <div class="checkboxes">
    <label for="one">
      <input type="checkbox" id="one" />First checkbox</label>
  </div>
</div>
<div class="multiselect">
  <div class="selectBox" onclick="showCheckboxes(1)">
    <select>
      <option>check box2</option>
    </select>
    <div class="overSelect"></div>
  </div>
  <div class="checkboxes">
    <label for="one">
      <input type="checkbox" id="one" />First checkbox</label>
  </div>
</div>
<div class="multiselect">
  <div class="selectBox" onclick="showCheckboxes(2)">
    <select>
      <option>check box3</option>
    </select>
    <div class="overSelect"></div>
  </div>
  <div class="checkboxes">
    <label for="one">
      <input type="checkbox" id="one" />First checkbox</label>
  </div>
</div>

CSS

.multiselect {
  width: 200px;
}

.selectBox {
  position: relative;
}

.selectBox select {
  width: 100%;
  font-weight: bold;
}

.overSelect {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

.checkboxes {
  display: none;
  border: 1px #dadada solid;
}

.checkboxes label {
  display: block;
}

#checkboxes label:hover {
  background-color: #1e90ff;
}

JavaScript

var expanded = [false, false, false];
var checkboxes;

function showCheckboxes(i) {
  checkboxes = checkboxes || document.getElementsByClassName("checkboxes");
  if (!expanded[i]) {
    checkboxes[i].style.display = "block";
    expanded[i] = true;
  } else {
    checkboxes[i].style.display = "none";
    expanded[i] = false;
  }
}