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 相关文章推荐
Ctrl+Enter提交内容信息
Jun 26 Javascript
jscript之Read an Excel Spreadsheet
Jun 13 Javascript
IE中jquery.form中ajax提交没反应解决方法分享
Sep 11 Javascript
javascript使用for循环批量注册的事件不能正确获取索引值的解决方法
Dec 20 Javascript
纯JavaScript实现获取onclick、onchange等事件的值
Dec 29 Javascript
浅析JS动态创建元素【两种方法】
Apr 20 Javascript
浅谈addEventListener和attachEvent的区别
Jul 14 Javascript
基于Vuejs实现购物车功能
Aug 02 Javascript
JS使用正则实现去掉字符串左右空格的方法
Dec 27 Javascript
详解Vue.js入门环境搭建
Mar 17 Javascript
vue-router 中 meta的用法详解
Nov 01 Javascript
vue 微信分享回调iOS和安卓回调出现错误的解决
Sep 07 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之第十天
2006/10/09 PHP
PHP教程 基本语法
2009/10/23 PHP
又一个php 分页类实现代码
2009/12/03 PHP
用PHP的超级变量$_GET获取HTML表单(Form) 数据
2011/05/07 PHP
php和asp语法上的区别总结
2019/05/12 PHP
PHP数组Key强制类型转换实现原理解析
2020/09/01 PHP
JavaScript 高效运行代码分析
2010/03/18 Javascript
js创建元素(节点)示例
2014/01/02 Javascript
防止按钮在短时间内被多次点击的方法
2014/03/10 Javascript
JavaScript实现99乘法表及隔行变色实例代码
2016/02/24 Javascript
JS组件Bootstrap实现下拉菜单效果代码
2016/04/26 Javascript
JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)
2016/06/21 Javascript
js实现炫酷的左右轮播图
2017/01/18 Javascript
微信小程序自定义底部导航带跳转功能
2018/11/27 Javascript
vue-cli在 history模式下的配置详解
2019/11/26 Javascript
在vue中使用防抖函数组件操作
2020/07/26 Javascript
react使用antd表单赋值,用于修改弹框的操作
2020/10/29 Javascript
[02:49]2014DOTA2电竞也是体育项目! 势要把荣誉带回中国!
2014/07/20 DOTA
Python 网络编程起步(Socket发送消息)
2008/09/06 Python
python基础知识小结之集合
2015/11/25 Python
基于Django用户认证系统详解
2018/02/21 Python
详解TensorFlow在windows上安装与简单示例
2018/03/05 Python
Python使用Flask-SQLAlchemy连接数据库操作示例
2018/08/31 Python
详解Python是如何实现issubclass的
2019/07/24 Python
Django中的session用法详解
2020/03/09 Python
Python 整行读取文本方法并去掉readlines换行\n操作
2020/09/03 Python
Scrapy+Selenium自动获取cookie爬取网易云音乐个人喜爱歌单
2021/02/01 Python
基于CSS3实现的几个小loading效果
2018/09/27 HTML / CSS
详解WebSocket跨域问题解决
2018/08/06 HTML / CSS
欧尚俄罗斯网上超市:Auchan俄罗斯
2018/05/03 全球购物
世界领先的艺术图书出版社:TASCHEN
2018/07/23 全球购物
经济与贸易专业应届生求职信
2013/11/19 职场文书
高二地理教学反思
2014/01/24 职场文书
三月学雷锋月活动总结
2014/04/28 职场文书
2014年仓库工作总结
2014/11/20 职场文书
SQL优化老出错,那是你没弄明白MySQL解释计划用法
2021/11/27 MySQL