【问题标题】:select 2 jquery custom attribute country name with capital name选择 2 带有大写名称的 jquery 自定义属性国家名称
【发布时间】:2021-09-30 17:25:16
【问题描述】:

我正在尝试添加一个自定义属性来选择 2 个选项,即使我使用“数据名称”进行搜索,该选项也应该显示出来

 <select name="countries" class="vat" id="example">
        <option value="USA" data-name="Newyork" selected="selected">United States</option>
        <option value="UK"  data-name="london">Unied Kingdom</option>
        <option value="DE"  data-name="Berlin">Germany</option>
    </select>

我正试图在搜索中接近,如果我输入柏林,德国应该会出现在选择列表中

<script type="text/javascript">
        $(document).ready(function() {
            $("#example").select2().find(":selected").data("name");
        });
    </script>

请帮我解决这个问题

谢谢

【问题讨论】:

    标签: javascript jquery drop-down-menu jquery-select2 option


    【解决方案1】:

    您可以使用 select2 插件的 matcher 方法。因此,每当用户在输入框中输入内容时,您都可以使用..indexOf(input_value) 过滤选择框内的选项。如果值为true,则选项将显示,否则将隐藏。

    演示代码

    $(function() {
      $("select").select2({
        "width": "150px",
        matcher: function(term, text, option) {
          //get input box value 
          var input_value = $(".select2-input").val().toLowerCase();
          //get the data attribute value..
          var data_name = $(option[0]).data("name").toLowerCase();
          //if match ..show that option
          return data_name.indexOf(input_value) != -1 || option[0].textContent.toLowerCase().indexOf(input_value) != -1;
        }
      })
    
    })
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/3.5.2/select2.min.css" />
    <script src="https://code.jquery.com/jquery-3.2.1.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/3.5.2/select2.min.js"></script>
    
    <select name="countries" class="vat" id="example">
      <option value="USA" data-name="Newyork" selected="selected">United States</option>
      <option value="UK" data-name="london">Unied Kingdom</option>
      <option value="DE" data-name="Berlin">Germany</option>
    </select>

    【讨论】:

    • 谢谢你,正是我需要的:)
    【解决方案2】:

    试试这个,你可以搜索州和国家会显示

    <input list="brow">
    <datalist id="brow">
            <option value="USA" data-name="Newyork" selected="selected">new york, florida</option>
            <option value="UK"  data-name="london">london</option>
            <option value="DE"  data-name="Berlin">berlin, other states</option>
      
    </datalist>  
    

    【讨论】:

    • 感谢您的回复,但我正在研究另一种方式,例如选择 2 个选项
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多