【问题标题】:How to add checkboxes to Multi Select in IE 11如何在 IE 11 中向多选添加复选框
【发布时间】:2019-02-26 11:34:24
【问题描述】:

我想通过 css 将复选框添加到使用 IE 11 的多选中。 我使用的 css 适用于 Edge 等,但不适用于 IE 11。

CSS 和代码:

<style>
option:before 
{
    content: "☐ "
}

option:checked:before 
{
    content: "☑ "
}

<select class="ddlRole" id="ddlRole" style="width: 810px;" size="6" multiple="">
    <option value="1">Administrator</option>
    <option selected="selected" value="2">Manager</option>
    <option value="3">User</option>
    <option selected="selected" value="4">Sub Manager</option>
    <option value="8">new role test 5</option>
</select>

或者,我将使用一个包含 2 列的表格,第一列是复选框列,接下来是选项的文本/名称。甚至可能与 Li 一起扩展 Ul?,虽然我真的不想这样做。

谢谢

【问题讨论】:

  • 我认为,从这里开始使用实际的复选框(和适当的标签)可能更有意义。带有multiple 的选择字段一开始使用起来有点讨厌(从用户体验的角度来看),如果你不喜欢这些显示方式,那么我会切换。

标签: css internet-explorer checkbox html-select


【解决方案1】:

如果您尝试使用 HTML、CSS 和 JS,那么下面的示例可以在包括 IE 在内的所有主流浏览器上运行。

var expanded = false;

function showCheckboxes() {
  var checkboxes = document.getElementById("checkboxes");
  if (!expanded) {
    checkboxes.style.display = "block";
    expanded = true;
  } else {
    checkboxes.style.display = "none";
    expanded = false;
  }
}
.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;
}
<form>
  <div class="multiselect">
    <div class="selectBox" onclick="showCheckboxes()">
      <select>
        <option>Select an option</option>
      </select>
      <div class="overSelect"></div>
    </div>
    <div id="checkboxes">
      <label for="one">
        <input type="checkbox" id="one" />First checkbox</label>
      <label for="two">
        <input type="checkbox" id="two" />Second checkbox</label>
      <label for="three">
        <input type="checkbox" id="three" />Third checkbox</label>
    </div>
  </div>
</form>

IE 11 中的输出:

参考:

How to use Checkbox inside Select Option

如果你想有一个只使用 CSS 的解决方案,你也可以在上面的链接中找到它。

other example with JQuery:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-28
    • 1970-01-01
    • 1970-01-01
    • 2011-08-20
    • 2011-07-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多