如何获取 bootstrap-select 上搜索框输入字段的值?
How to get value of searchbox input field on bootstrap-select?
这是我的 html 代码:
<select id="myselect" class="selectpicker" data-live-search="true" placeholder="please type" data-live-Search-Placeholder="search">
<option value="111">AAAAAAAAAAA</option>
<option value="222">bbbbbbbbbbb</option>
<option value="333">cccccccccc</option>
</select>
这是我的 javascript 代码:
$(function(){
var select1 = $('#myselect').selectpicker();
//var mysearchkeyword = $('#myselect').selectpicker('search.initiated').val();
//var mysearchkeyword = $('#myselect').selectpicker('search.input').val();
var mysearchkeyword = $('#myselect').selectpicker('.bs-searchbox').val();
select1.on('changed.bs.select', function (e) {
alert(mysearchkeyword);
});
})
这是我的 fiddle:JSFiddle
我想获取bootstrap-select中搜索框输入的数据。例如,如果我在搜索框中键入“a”,我希望它获得“a”作为警报消息。我阅读了 this guide 并尝试了几种方法,但都没有用。你能帮帮我吗?
提前致谢。
由于值会不断变化,我会创建变量作为实际元素。
如果查看 DOM 结构,您会发现 div.bs-searchbox
元素是 $('#myselect')
元素的同级元素的子元素。
因此,要获取 div.bs-searchbox
元素,首先获取 $('#myselect')
元素的父元素,然后使用 .find('.bs-searchbox > input')
搜索其依赖项,获取 <input>
div.bs-searchbox
元素的子元素(请记住,具有搜索值的是 input
元素,而不是 .bs-searchbox
div 元素)。
然后在您的事件侦听器上,获取 searchBoxElement
变量的 .val()
。
请参阅下面的代码段
$(function() {
var select1 = $('#myselect').selectpicker();
//var mysearchkeyword = $('#myselect').selectpicker('search.initiated').val();
//var mysearchkeyword = $('#myselect').selectpicker('search.input').val();
//var mysearchkeyword = $('#myselect').selectpicker('.bs-searchbox').val();
var searchBoxElement = $('#myselect').parent().find('.bs-searchbox > input');
select1.on('changed.bs.select', function(e) {
alert(searchBoxElement.val());
});
})
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.13.5/css/bootstrap-select.min.css" rel="stylesheet" />
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.2.1/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.2.1/js/bootstrap.bundle.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.13.5/js/bootstrap-select.min.js"></script>
<select id="myselect" class="selectpicker" data-live-search="true" placeholder="please type" data-live-Search-Placeholder="search">
<option value="111">AAAAAAAAAAA</option>
<option value="222">bbbbbbbbbbb</option>
<option value="333">cccccccccc</option>
</select>
这是我的 html 代码:
<select id="myselect" class="selectpicker" data-live-search="true" placeholder="please type" data-live-Search-Placeholder="search">
<option value="111">AAAAAAAAAAA</option>
<option value="222">bbbbbbbbbbb</option>
<option value="333">cccccccccc</option>
</select>
这是我的 javascript 代码:
$(function(){
var select1 = $('#myselect').selectpicker();
//var mysearchkeyword = $('#myselect').selectpicker('search.initiated').val();
//var mysearchkeyword = $('#myselect').selectpicker('search.input').val();
var mysearchkeyword = $('#myselect').selectpicker('.bs-searchbox').val();
select1.on('changed.bs.select', function (e) {
alert(mysearchkeyword);
});
})
这是我的 fiddle:JSFiddle
我想获取bootstrap-select中搜索框输入的数据。例如,如果我在搜索框中键入“a”,我希望它获得“a”作为警报消息。我阅读了 this guide 并尝试了几种方法,但都没有用。你能帮帮我吗?
提前致谢。
由于值会不断变化,我会创建变量作为实际元素。
如果查看 DOM 结构,您会发现 div.bs-searchbox
元素是 $('#myselect')
元素的同级元素的子元素。
因此,要获取 div.bs-searchbox
元素,首先获取 $('#myselect')
元素的父元素,然后使用 .find('.bs-searchbox > input')
搜索其依赖项,获取 <input>
div.bs-searchbox
元素的子元素(请记住,具有搜索值的是 input
元素,而不是 .bs-searchbox
div 元素)。
然后在您的事件侦听器上,获取 searchBoxElement
变量的 .val()
。
请参阅下面的代码段
$(function() {
var select1 = $('#myselect').selectpicker();
//var mysearchkeyword = $('#myselect').selectpicker('search.initiated').val();
//var mysearchkeyword = $('#myselect').selectpicker('search.input').val();
//var mysearchkeyword = $('#myselect').selectpicker('.bs-searchbox').val();
var searchBoxElement = $('#myselect').parent().find('.bs-searchbox > input');
select1.on('changed.bs.select', function(e) {
alert(searchBoxElement.val());
});
})
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.13.5/css/bootstrap-select.min.css" rel="stylesheet" />
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.2.1/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.2.1/js/bootstrap.bundle.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.13.5/js/bootstrap-select.min.js"></script>
<select id="myselect" class="selectpicker" data-live-search="true" placeholder="please type" data-live-Search-Placeholder="search">
<option value="111">AAAAAAAAAAA</option>
<option value="222">bbbbbbbbbbb</option>
<option value="333">cccccccccc</option>
</select>