欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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)文章

  • javascript DIV實現(xiàn)跟隨鼠標(biāo)移動

    javascript DIV實現(xiàn)跟隨鼠標(biāo)移動

    這篇文章主要為大家詳細介紹了javascript DIV跟隨鼠標(biāo)移動,有一個div跟隨鼠標(biāo)移動的結(jié)果,有一連串跟隨鼠標(biāo)移動的效果,感興趣的小伙伴們可以參考一下
    2016-02-02
  • 一文總結(jié)JS中邏輯運算符的特點

    一文總結(jié)JS中邏輯運算符的特點

    在JavaScript的眾多運算符里,提供了三個邏輯運算符&&、||和!,下面這篇文章主要給大家介紹了關(guān)于JS中邏輯運算符的特點,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-03-03
  • javaScript使用EL表達式的幾種方式

    javaScript使用EL表達式的幾種方式

    這篇文章主要介紹了javaScript如何使用EL表達式,有哪幾種不錯的方式,需要的朋友可以參考下
    2014-05-05
  • 解決layui checkbox 提交多個值的問題

    解決layui checkbox 提交多個值的問題

    今天小編就為大家分享一篇解決layui checkbox 提交多個值的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • uniapp解決軟鍵盤彈出問題方法詳解

    uniapp解決軟鍵盤彈出問題方法詳解

    這篇文章主要為大家介紹了uniapp解決軟鍵盤彈出問題方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • JavaScript NodeTree導(dǎo)航欄(菜單項JSON類型/自制)

    JavaScript NodeTree導(dǎo)航欄(菜單項JSON類型/自制)

    利用閑暇時間自己做了個JavaScript NodeTree,網(wǎng)上有很多類似的效果,本例主要是練練手,鞏固下知識,感興趣的朋友可以了解下,或許對你學(xué)習(xí)NodeTree導(dǎo)航欄有所幫助,認為好的就分享嘍
    2013-02-02
  • js 數(shù)組去重的四種實用方法

    js 數(shù)組去重的四種實用方法

    怎樣去掉Javascript的Array的重復(fù)項,這個問題看起來簡單,但考的不僅僅是實現(xiàn)這個功能,更能看出你對計算機程序執(zhí)行的深入理解
    2014-09-09
  • javascript正則表達式使用replace()替換手機號的方法

    javascript正則表達式使用replace()替換手機號的方法

    這篇文章主要介紹了javascript正則表達式使用replace()替換手機號的方法,可實現(xiàn)把手機號第4位到第7位替換成****的功能,是非常實用的技巧,需要的朋友可以參考下
    2015-01-01
  • JS通過Cookie判斷頁面是否為首次打開

    JS通過Cookie判斷頁面是否為首次打開

    這篇文章主要介紹了JS通過Cookie判斷頁面是否為首次打開 的相關(guān)資料,需要的朋友可以參考下
    2016-02-02
  • 使用原生JS實現(xiàn)拍照功能

    使用原生JS實現(xiàn)拍照功能

    今天我們聊一聊,一個非常有趣且重要的問題,如何用原生js實現(xiàn)拍照功能?這時候,有的朋友會說,為什么要用原生js實現(xiàn)呀,這么麻煩還要自己動腦子,直接用第三方庫多好呀,但是,你難道不好奇它的底層js實現(xiàn)嗎?感興趣的同學(xué)跟著小編一起來瞧瞧吧
    2023-12-12

最新評論