bootstrap select下拉搜索插件使用方法详解


Posted in Javascript onNovember 23, 2017

bootstrap-select是boot的下拉搜索插件,使用的时候有时我们需要动态从后台 或者 直接加载动态数据。
下面是根据一级下拉菜单,动态加载二级联动方式。(不是ajax后台获取)

首先引入js与css文件(一个css两个js)

<link rel="stylesheet" href="css/bootstrap-select.css" rel="external nofollow" >

js省略

一、下拉搜索(html)

<select class="selectpicker" data-live-search="true" id="d1">
  <option value="-1">请选择</option>
  <option value="0">0</option>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
</select>
<select class="selectpicker" data-live-search="true" id="d2">
  <option value="-1">请选择</option>
</select>

二、加载数据 二级联动(js)

function smallScreen(){   // 个人项目中间距处理,可以省略
  if($(window).width()<768){
    $('.bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn)').css({
      'width':'100%',
      'margin-top':'10px'
    });
  }
}
$(function(){
var erji=[
    ['海淀区','东城区','西城区'], // 0
    ['浦东区','金山区','黄埔区'], // 1
    ['台州市','杭州市','宁波市','嘉兴市'], // 2
    ['郑州市','洛阳市','开封市'] // 3
  ];
  var yuan = '<li data-original-index="-1" class>' +   // 字符串拼接
      '<a tabindex="0" data-tokens="null" role="option" aria-disabled="false" aria-selected="false">' +
      '<span class="text">请选择</span>' +
      '<span class="glyphicon glyphicon-ok check-mark"></span>' +
      '</a>' +
      '</li>';
  $('#d1').change(function(){  // 一级下拉菜单选项改变事件
    if($(this).val() === '-1'){
      $('#d2').prev('div.dropdown-menu').find('ul').html(yuan);
      $('#d2').html('<option>请选择</option>');
      $('.selectpicker').selectpicker('refresh');
      smallScreen();
      return;
    }
    var cityIndex = erji[ this.value ]; // 当前下标在二级对应内容
    var html = '<li data-original-index="-1" class>' +   // 下拉搜索动态加载成的标签
        '<a tabindex="0" data-tokens="null" role="option" aria-disabled="false" aria-selected="false">' +
        '<span class="text">请选择</span>' +
        '<span class="glyphicon glyphicon-ok check-mark"></span>' +
        '</a>' +
        '</li>';
    var erjiOption = '<option value="0">请选择</option>';  // 同事添加option
    for(var i = 0;i<cityIndex.length;i++){
      html+= '<li data-original-index='+i+'>' +
          '<a tabindex="0" data-tokens="null" role="option" aria-disabled="false" aria-selected="false">' +
          '<span class="text">'+cityIndex[i]+'</span>' +
          '<span class="glyphicon glyphicon-ok check-mark"></span>' +
          '</a>' +
          '</li>';  // 此处为了兼容ie,采用的字符串拼接而不是ES6的模板字符串。
      // 添加option
      erjiOption += '<option value='+i+'>'+cityIndex[i]+'</option>';
    }
    $('#d2').prev('div.dropdown-menu').find('ul').html(html);
    $('#d2').html(erjiOption);
    $('.selectpicker').selectpicker('refresh');
    smallScreen();
  });
});
});

个人使用有效。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery中ajax学习笔记4
Oct 16 Javascript
Javascript查询DBpedia小应用实例学习
Mar 07 Javascript
详细介绍8款超实用JavaScript框架
Oct 25 Javascript
javascript实例--教你实现扑克牌洗牌功能
May 15 Javascript
html的DOM中document对象forms集合用法实例
Jan 21 Javascript
jQuery超简单选项卡完整实例
Sep 26 Javascript
require简单实现单页应用程序(SPA)
Jul 12 Javascript
基于JavaScript Array数组方法(新手必看篇)
Aug 20 Javascript
很酷的星级评分系统原生JS实现
Aug 25 Javascript
JQuery学习总结【二】
Dec 01 Javascript
JavaScript定时器制作弹窗小广告
Feb 05 Javascript
mockjs,json-server一起搭建前端通用的数据模拟框架教程
Dec 18 Javascript
基于Bootstrap实现城市三级联动
Nov 23 #Javascript
bootstrap-Treeview实现级联勾选
Nov 23 #Javascript
基于vue-cli创建的项目的目录结构及说明介绍
Nov 23 #Javascript
sublime text配置node.js调试(图文教程)
Nov 23 #Javascript
Vue代码分割懒加载的实现方法
Nov 23 #Javascript
初探js和简单隐藏效果的实例
Nov 23 #Javascript
详解如何在angular2中获取节点
Nov 23 #Javascript
You might like
PHP获取网站域名和地址的代码
2008/08/17 PHP
探讨php define()函数及defined()函数使用详解
2013/06/09 PHP
php生成唯一数字id的方法汇总
2015/11/18 PHP
PHP使用Memcache时模拟命名空间及缓存失效问题的解决
2016/02/27 PHP
Symfony控制层深入详解
2016/03/17 PHP
jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
2013/07/03 Javascript
json实现前后台的相互传值详解
2015/01/05 Javascript
jQuery实现选项卡切换效果简单演示
2015/12/09 Javascript
浅谈json取值(对象和数组)
2016/06/24 Javascript
JavaScript变量声明var,let.const及区别浅析
2018/04/23 Javascript
Element UI框架中巧用树选择器的实现
2018/12/12 Javascript
浅谈webpack性能榨汁机(打包速度优化)
2019/01/09 Javascript
node 版本切换的实现
2020/02/02 Javascript
原生JavaScript之es6中Class的用法分析
2020/02/23 Javascript
python实现的简单RPG游戏流程实例
2015/06/28 Python
利用Python画ROC曲线和AUC值计算
2016/09/19 Python
python 调用HBase的简单实例
2016/12/18 Python
python如何重载模块实例解析
2018/01/25 Python
Python实现的径向基(RBF)神经网络示例
2018/02/06 Python
python爬虫面试宝典(常见问题)
2018/03/02 Python
python批量复制图片到另一个文件夹
2018/09/17 Python
对numpy中的where方法嵌套使用详解
2018/10/31 Python
Pytorch提取模型特征向量保存至csv的例子
2020/01/03 Python
python使用pandas抽样训练数据中某个类别实例
2020/02/28 Python
解决pyPdf和pyPdf2在合并pdf时出现异常的问题
2020/04/03 Python
Python HTMLTestRunner可视化报告实现过程解析
2020/04/10 Python
Python基于pyjnius库实现访问java类
2020/07/31 Python
canvas之自定义头像功能实现代码示例
2017/09/29 HTML / CSS
香港现代设计家具品牌:Ziinlife Furniture
2018/11/13 全球购物
计生专干事迹
2014/05/28 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
2014幼儿园教师师德师风演讲稿
2014/09/10 职场文书
婚礼证婚人演讲稿
2014/09/13 职场文书
2014年青年教师工作总结
2014/12/17 职场文书
上手简单,功能强大的Python爬虫框架——feapder
2021/04/27 Python
vue+iview实现手机号分段输入框
2022/03/25 Vue.js