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下为Event handler传递动态参数的代码
Jan 06 Javascript
动态添加删除表格行的js实现代码
Feb 28 Javascript
JavaScript开发人员的10个关键习惯小结
Dec 05 Javascript
JavaScript数组操作详解
Feb 04 Javascript
JavaScript数据结构学习之数组、栈与队列
May 02 Javascript
关于vue.extend和vue.component的区别浅析
Aug 16 Javascript
详解JS数组Reduce()方法详解及高级技巧
Aug 18 Javascript
一文让你彻底搞清楚javascript中的require、import与export
Sep 24 Javascript
jQuery实现的点击标题文字切换字体效果示例【测试可用】
Apr 26 jQuery
记录一次完整的react hooks实践
Mar 11 Javascript
ES6函数实现排它两种写法解析
May 13 Javascript
react国际化react-intl的使用
May 06 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来实现网络服务
2009/09/15 PHP
Symfony2安装的方法(2种方法)
2016/02/04 PHP
ThinkPHP中session函数详解
2016/09/14 PHP
PHP 枚举类型的管理与设计知识点总结
2020/02/13 PHP
PHP isset()及empty()用法区别详解
2020/08/29 PHP
关于JavaScript的with 语句的使用方法
2011/05/09 Javascript
javascript贪吃蛇完整版(源码)
2013/12/09 Javascript
javascript数字时钟示例分享
2014/04/23 Javascript
NodeJS学习笔记之(Url,QueryString,Path)模块
2015/01/13 NodeJs
JS实现兼容各种浏览器的高级拖动方法完整实例【测试可用】
2016/06/21 Javascript
微信小程序 JS动态修改样式的实现代码
2017/02/10 Javascript
Bootstrap栅格系统的使用详解
2017/10/30 Javascript
实现div内部滚动条滚动到底部和顶部的代码
2017/11/15 Javascript
Linux Centos7.2下安装nodejs&amp;npm配置全局路径的教程
2018/05/15 NodeJs
Vue项目添加动态浏览器头部title的方法
2018/07/11 Javascript
js实现指定时间倒计时效果
2019/08/26 Javascript
推荐下python/ironpython:从入门到精通
2007/10/02 Python
Python中处理unchecked未捕获异常实例
2015/01/17 Python
Perl中著名的Schwartzian转换问题解决实现
2015/06/02 Python
python3实现随机数
2018/06/25 Python
Python运维自动化之nginx配置文件对比操作示例
2018/08/29 Python
Python3与fastdfs分布式文件系统如何实现交互
2020/06/23 Python
Python tkinter界面实现历史天气查询的示例代码
2020/08/23 Python
matplotlib grid()设置网格线外观的实现
2021/02/22 Python
实例教程 一款纯css3实现的数字统计游戏
2014/11/10 HTML / CSS
英国电动工具购买网站:Anglia Tool Centre
2017/04/25 全球购物
彪马西班牙官网:PUMA西班牙
2019/06/18 全球购物
如何启动时不需输入用户名与密码
2014/05/09 面试题
查环查孕证明
2014/01/10 职场文书
小学教师事迹材料
2014/01/13 职场文书
《忆江南》教学反思
2014/04/07 职场文书
活动总结报告怎么写
2014/07/03 职场文书
乡镇四风对照检查材料
2014/08/31 职场文书
医药销售自我评价200字
2014/09/11 职场文书
体育活动总结
2015/02/04 职场文书
2015年九一八事变纪念活动实施方案
2015/05/06 职场文书