bootstrap-select使用过程中的一些问题

摘要:这里总结一下上次使用bootstrap-select的过程中遇到的一些问题。至于bootstrap-select的具体使用方法这里就不介绍了,网上有很多例子。点击没有反应,下拉框不出现

这里总结一下上次使用bootstrap-select的过程中遇到的一些问题。至于bootstrap-select的具体使用方法这里就不介绍了,网上有很多例子。

地址

官方插件地址:https://developer.snapappointments.com/bootstrap-select
GitHub地址:https://github.com/snapappointments/bootstrap-select

 

问题一:点击没有反应,下拉框不出现

原因:可能是js文件引入顺序错误。

正确引入顺序

<link href="lib/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
<link href="lib/bootstrap-select/css/bootstrap-select.min.css" rel="stylesheet" />
<script src="lib/jquery-3.4.1/jquery-3.4.1.min.js"></script>
<script src="lib/bootstrap/js/bootstrap.min.js"></script>
<script src="lib/bootstrap-select/js/bootstrap-select.js"></script>


问题二:如何加载动态数据

方法一

$.get("/test/ajax", function(result){
    if(result.code == 0){
        var addhtml = "";
        for (var i = 0; i < result.data.length; i++){
            addhtml += "<option value="+ result.data[i]['id'] +">"+ result.data[i]['name'] +"</option>";
        }
        $('.selectpicker').html(addhtml);
    }
});

方法二

//使用refresh方法更新UI以匹配新状态
$('.selectpicker').selectpicker('refresh');
//render方法强制重新渲染引导程序
$('.selectpicker').selectpicker('render');$.get("/test/ajax", function(result){
    if(result.code == 0){
        for (var i = 0; i < result.data.length; i++){
            $('.selectpicker').append("<option value="+ result.data[i]['id'] +">"+ result.data[i]['name'] +"</option>");
        }
    }
});


问题三:动态加载数据不显示

原因:动态生成数据后没有刷新插件

解决办法:数据加载成功后加入以下两条语句。

//使用refresh方法更新UI以匹配新状态
$('.selectpicker').selectpicker('refresh');
//render方法强制重新渲染引导程序
$('.selectpicker').selectpicker('render');


问题四:使用筛选时,如果同时出现中文和英文,则搜索会出现问题

解决办法

注释bootstrap-select.js文件中的以下代码:

that.$lis.not('.hidden, .divider, .dropdown-header').eq(0).addClass('active').children('a').focus();
$(this).focus();


本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_4073