select 2 jquery 带有首都名称的自定义属性国家名称
select 2 jquery custom attribute country name with capital name
我正在尝试向 select 2 个选项添加自定义属性,即使我使用“data-name”进行搜索,该选项也应该显示出来
<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>
我正在尝试搜索,如果我输入柏林,德国应该出现在 select 列表中
<script type="text/javascript">
$(document).ready(function() {
$("#example").select2().find(":selected").data("name");
});
</script>
请尝试在这方面帮助我
谢谢
试试这个,你可以搜索州和国家会显示
<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>
您可以使用 select2 插件的匹配器方法。因此,每当用户在输入框内输入时,您都可以使用 ..indexOf(input_value)
在 select 框中过滤选项。如果值为 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>
我正在尝试向 select 2 个选项添加自定义属性,即使我使用“data-name”进行搜索,该选项也应该显示出来
<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>
我正在尝试搜索,如果我输入柏林,德国应该出现在 select 列表中
<script type="text/javascript">
$(document).ready(function() {
$("#example").select2().find(":selected").data("name");
});
</script>
请尝试在这方面帮助我
谢谢
试试这个,你可以搜索州和国家会显示
<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>
您可以使用 select2 插件的匹配器方法。因此,每当用户在输入框内输入时,您都可以使用 ..indexOf(input_value)
在 select 框中过滤选项。如果值为 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>