bootstrap-select-data-live-search热搜索/热加载

5 篇文章 0 订阅
1 篇文章 0 订阅
<select id="datasearch" data-live-search="true" liveSearchStyle="contains" autocomplete="off"
												class="selectpicker form-control" title="请输入信息模糊查询">

当下拉菜单对用户可见时,触发了shown.bs.select事件。
会发现出现一个input框↓
在这里插入图片描述

<div class="dropdown-menu open" style="max-height: 633px; overflow: hidden; min-height: 48px;">
<div class="bs-searchbox">
<input type="search" class="form-control" 
autocomplete="off" role="combobox" aria-label="Search" aria-controls="bs-select-1" aria-autocomplete="list">
</div>
</div>

那么当input框中触发键盘事件即可进行热加载。
问题是如何获取到这个input元素

①下拉事件触发:
$(function () {
$("#datasearch").on('shown.bs.select',
        function (e) {
        /*method*/
        })
})

当选择框下拉事件触发时。会执行method

②寻找input元素&动态加载:

首先声明一个全局变量let sctimer=0;用于键盘抬起时的延时

 $(".bs-searchbox input[type$=search]").keyup(function () {
            $(".bs-searchbox input[type$=search]").attr('id', "datainput");
             clearTimeout(sctimer);
             sctimer = setTimeout(function () {
             $.ajax({
             url: /*你的url*/,
             type: "get",
             data: {
             /*你的数据*/
             },
             success: function (data) {
             /*根据自己需要判断是否清空*/
              $("#datasearch").empty();
              /*根据自己需要添加value和选项名*/
                                $.each(data, function (i, item) {
                                    $("#datasearch").append('<option  value="' + item + '">' + item + '</option>');
                                });
                                /*刷新使数据生效*/
                                $('#datasearch').selectpicker('refresh');
             }
             })
             }, 250);/*延时250ms*/
            })	

找到该input元素。添加id属性
并且刷新bs的选项数据

————————————————————————————

👉推荐!!!【腾讯云】爆款2核4G云服务器首年74元/年
👉推荐!!!【腾讯云】1核2G5M轻量应用服务器50元/年
【腾讯云】云数据库低至9.9/年!MySQL7.4元/月
【阿里云】ECS云服务器特惠
【阿里云】服务器首购优惠
如果文章对您有帮助,扫个红包码呗

红包码

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于Bootstrap-select.js分组联动的实现,您可以按照以下步骤进行操作: 1. 引入必要的依赖文件:在HTML文件中引入Bootstrap-select.jsBootstrap-select.css文件。 ```html <link rel="stylesheet" href="path/to/bootstrap-select.css"> <script src="path/to/bootstrap-select.js"></script> ``` 2. 创建下拉菜单的HTML结构:使用`<select>`元素创建下拉菜单,并为其添加`data-live-search="true"`和`data-size="5"`属性,以启用搜索和设置可见选项的数量。 ```html <select class="selectpicker" data-live-search="true" data-size="5"> <option value="">请选择</option> <optgroup label="分组1"> <option value="1">选项1</option> <option value="2">选项2</option> </optgroup> <optgroup label="分组2"> <option value="3">选项3</option> <option value="4">选项4</option> </optgroup> </select> ``` 3. 初始化插件:在页面加载完成后,通过JavaScript代码初始化Bootstrap-select插件。 ```javascript $(document).ready(function() { $('.selectpicker').selectpicker(); }); ``` 4. 实现分组联动效果:根据您的需求,您可以使用JavaScript代码来实现下拉菜单的分组联动效果。例如,当选择某个选项时,根据该选项的值动态改变其他下拉菜单的选项。 ```javascript $('.selectpicker').on('changed.bs.select', function(e) { var selectedValue = $(this).val(); // 根据选中的值进行相应的处理 }); ``` 这样,您就可以使用Bootstrap-select.js实现分组联动的下拉菜单了。记得根据您的实际需求进行相应的调整和处理。希望对您有帮助!如果有任何问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值