最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript如何讓select選擇框可輸入和可下拉選擇

 更新時間:2023年10月31日 08:38:17   作者:Sun?Peng  
我們知道一般select下拉框是只能選擇的,而有時我們會遇到下拉框中沒有要選擇的信息項或者下拉選項特別多時,需要允許用戶輸入想要的內(nèi)容,這篇文章主要給大家介紹了關(guān)于JavaScript如何讓select選擇框可輸入和可下拉選擇的相關(guān)資料,需要的朋友可以參考下

【1】Html+CSS兼容IE實現(xiàn)

基本原理:使用 input/select 兩個元素,然后 input 覆蓋在 select 上層 ,寬度并比select窄一點,這樣用戶就能點到select的箭頭彈出下拉框

<div class="select-editable">
    <select onchange="this.nextElementSibling.value=this.value">
        <option value=""></option>
        <option value="115x175 mm">115x175 mm</option>
        <option value="120x160 mm">120x160 mm</option>
        <option value="120x287 mm">120x287 mm</option>
    </select>
    <input type="text" name="format" value="" />
</div>
.select-editable {
     position:relative;
     background-color:white;
     border:solid grey 1px;
     width:120px;
     height:18px;
 }
 .select-editable select {
     position:absolute;
     top:0px;
     left:0px;
     font-size:14px;
     border:none;
     width:120px;
     margin:0;
 }
 .select-editable input {
     position:absolute;
     top:0px;
     left:0px;
     width:100px;
     padding:1px;
     font-size:12px;
     border:none;
 }
 .select-editable select:focus, .select-editable input:focus {
     outline:none;
 }

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    .select-editable {
      position: relative;
      background-color: white;
      border: solid grey 1px;
      width: 120px;
      height: 18px;
    }

    .select-editable select {
      position: absolute;
      top: 0px;
      left: 0px;
      font-size: 14px;
      border: none;
      width: 120px;
      margin: 0;
    }

    .select-editable input {
      position: absolute;
      top: 0px;
      left: 0px;
      width: 100px;
      padding: 1px;
      font-size: 12px;
      border: none;
    }

    .select-editable select:focus,
    .select-editable input:focus {
      outline: none;
    }
  </style>

  <script src="./jquery.min.js"></script>
</head>

<body>
  <div class="select-editable">
    <select onchange="this.nextElementSibling.value=this.value" id="cookies">
      <!-- <option value=""></option>
      <option value="115x175 mm">115x175 mm</option>
      <option value="120x160 mm">120x160 mm</option>
      <option value="120x287 mm">120x287 mm</option> -->
    </select>
    <input type="text" name="format" value="" />
  </div>

  <script>
    window.onload = function () {
      var optionList = [
        { value: '1' },
        { value: '2' },
        { value: '3' },
        { value: '4' },
        { value: '5' },
      ]
      $('#cookies').empty()
      if (optionList && optionList.length > 0) {
        for (var i = 0; i < optionList.length; i++) {
          $('#cookies').append(`<option value="` + optionList[i].value + `">`+optionList[i].value+`</option>`);
        }
      }
    }
  </script>
</body>

</html>

【2】datalist

Datalist是HTML5的原生標(biāo)簽,用于向input提供下拉和自動提示選項,支持輸入和下拉選擇兩種方式。但是目前IE10及其以下瀏覽器并不支持, 并且IE11無法觸發(fā)input和change事件,相當(dāng)于IE系列均無法很好地實現(xiàn)。如果僅支持Chrome或Eletron桌面的應(yīng)用則可以放心使用。

<input list="cookies" placeholder="Type of Cookie"/>

<datalist id="cookies">
    <option value="Chocolate Chip"/>
    <option value="Peanut Butter"/>
    <option value="Raisin Oatmeal"/>
</datalist>

<body>
  <div>
    <input list="cookies" placeholder="請選擇或輸入" />
    <datalist id="cookies">
      <!-- <option value="Chocolate Chip" />
      <option value="Peanut Butter" />
      <option value="Raisin Oatmeal" /> -->
    </datalist>
  </div>

  <script>
    window.onload = function () {
      var optionList = [
        { value: '1' },
        { value: '2' },
        { value: '3' },
        { value: '4' },
        { value: '5' },
      ]
      $('#cookies').empty()
      if (optionList && optionList.length > 0) {
        for (var i = 0; i < optionList.length; i++) {
          $('#cookies').append(`<option value="` + optionList[i].value + `" />`);
        }
      }
    }
  </script>
</body>

</html>

總結(jié) 

到此這篇關(guān)于JavaScript如何讓select選擇框可輸入和可下拉選擇的文章就介紹到這了,更多相關(guān)js select選擇框可輸入可下拉選擇內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

哈巴河县| 金寨县| 高雄县| 台山市| 康乐县| 临泽县| 惠来县| 翁源县| 陆丰市| 封开县| 乌恰县| 宜章县| 宜兴市| 丘北县| 南和县| 廉江市| 惠水县| 阳原县| 嵊州市| 鄂州市| 信阳市| 长治市| 盐山县| 义乌市| 永年县| 泸州市| 万源市| 赤水市| 濮阳县| 弥渡县| 寻乌县| 鄂伦春自治旗| 莱州市| 石渠县| 宜都市| 安图县| 阿坝| 湘西| 吉木乃县| 顺义区| 广元市|