首頁 > web前端 > css教學 > 如何使用 HTML、CSS 和 JavaScript 模擬選擇選項選單內的複選框?

如何使用 HTML、CSS 和 JavaScript 模擬選擇選項選單內的複選框?

Mary-Kate Olsen
發布: 2024-12-25 12:43:09
原創
219 人瀏覽過

How Can I Simulate Checkboxes Inside a Select Option Menu Using HTML, CSS, and JavaScript?

在選擇選項中合併複選框

無法將復選框直接嵌入到選擇選項選單中,這在面對需要此功能的設計時提出了挑戰。但是,使用 HTML、CSS 和 JavaScript 的組合可以實現類似的效果。

實作

  1. HTML 結構: 使用下列內容建立 div “多重選擇”類別。在此 div 中,包含一個 select 元素和一個帶有「overSelect」類別的 div,絕對定位以覆寫該 select 元素。此外,建立另一個 ID 為「checkboxes」的 div,其中將包含複選框選項。
  2. CSS 樣式: 將選取元素設為粗體文字並將視覺樣式套用至「overSelect」 div 來模仿選取選項的外觀。定義「複選框」div 的樣式以控制其可見性和佈局。
  3. JavaScript 功能: 使用 JavaScript 在點擊事件上切換「複選框」div 的可見性。

程式碼

1

2

3

4

5

6

7

8

9

<form>

  <div class="multiselect">

    <div class="selectBox" onclick="showCheckboxes()">

      <select>

        <option>Select an option</option>

      </select>

      <div class="overSelect"></div>

    </div>

    <div>

登入後複製

1

2

3

4

5

6

7

8

9

10

11

12

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;

  }

}

登入後複製

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

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

}

登入後複製

此解決方案提供了非常接近「選擇選項」選單中類似複選框的功能。但是,請務必注意,它偏離了 Select Option 元素的標準行為。

以上是如何使用 HTML、CSS 和 JavaScript 模擬選擇選項選單內的複選框?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板