首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >选择2 jquery自定义属性国家名和大写名称。

选择2 jquery自定义属性国家名和大写名称。
EN

Stack Overflow用户
提问于 2021-07-23 15:30:23
回答 2查看 457关注 0票数 1

我试图添加一个自定义属性来选择2个选项,即使我使用“数据名称”搜索,该选项也会显示出来。

代码语言:javascript
运行
复制
 <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>

我试图接近搜索,如果我输入柏林,德国应该会出现在选择名单上

代码语言:javascript
运行
复制
<script type="text/javascript">
        $(document).ready(function() {
            $("#example").select2().find(":selected").data("name");
        });
    </script>

请试着帮我一下

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-24 03:45:50

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

演示代码

代码语言:javascript
运行
复制
$(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;
    }
  })

})
代码语言:javascript
运行
复制
<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>

票数 1
EN

Stack Overflow用户

发布于 2021-07-23 16:30:30

尝试这个,您可以搜索州和国家将显示

代码语言:javascript
运行
复制
<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>  
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68501629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档