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 相关文章推荐
javascript 设置文本框中焦点的位置
Nov 20 Javascript
javascript 进阶篇2 CSS XML学习
Mar 14 Javascript
js 去除字符串第一位逗号的方法
Jun 07 Javascript
js限制input标签中只能输入中文
Jun 26 Javascript
JavaScript是如何实现继承的(六种方式)
Mar 31 Javascript
把普通对象转换成json格式的对象的简单实例
Jul 04 Javascript
BootStrap iCheck插件全选与获取value值的解决方法
Aug 24 Javascript
KnockoutJS 3.X API 第四章之表单value绑定
Oct 10 Javascript
Node.js测试中的Mock文件系统详解
Nov 21 Javascript
浅谈在fetch方法中添加header后遇到的预检请求问题
Aug 31 Javascript
js函数柯里化的方法和作用实例分析
Apr 11 Javascript
vue中后端做Excel导出功能返回数据流前端的处理操作
Sep 08 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数组索引与键值操作技巧实例分析
2015/06/24 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
2019/05/09 PHP
CSDN轮换广告图片轮换效果
2007/03/27 Javascript
用JavaScript页面不刷新时全选择,全删除(GridView)
2009/04/14 Javascript
学习ExtJS fit布局使用说明
2009/10/08 Javascript
Chosen 基于jquery的选择框插件使用方法
2012/05/30 Javascript
javascript重写alert方法的实例代码
2013/03/29 Javascript
jcrop基本参数一览
2013/07/16 Javascript
JS实现仿雅虎首页快捷登录入口及导航模块效果
2015/09/19 Javascript
jQuery使用cookie与json简单实现购物车功能
2016/04/15 Javascript
深入理解JavaScript创建对象的多种方式以及优缺点
2017/06/01 Javascript
vue.js过滤器+ajax实现事件监听及后台php数据交互实例
2018/05/22 Javascript
JavaScript中发出HTTP请求最常用的方法
2018/07/12 Javascript
layUI使用layer.open,在content打开数据表格,获取值并返回的方法
2019/09/26 Javascript
Vant 中的Toast设置全局的延迟时间操作
2020/11/04 Javascript
[14:57]DOTA2 HEROS教学视频教你分分钟做大人-幽鬼
2014/06/13 DOTA
python文件和目录操作函数小结
2014/07/11 Python
python中threading超线程用法实例分析
2015/05/16 Python
解读Python中degrees()方法的使用
2015/05/18 Python
Python深入06——python的内存管理详解
2016/12/07 Python
python 统计代码行数简单实例
2017/05/04 Python
Python之py2exe打包工具详解
2017/06/14 Python
python3将变量输入的简单实例
2020/08/19 Python
Crocs波兰官方商店:女鞋、男鞋、童鞋、洞洞鞋
2019/10/08 全球购物
拉夫劳伦爱尔兰官方网站:Ralph Lauren爱尔兰
2020/04/10 全球购物
乌克兰鞋类购物网站:Eobuv.com.ua
2020/11/28 全球购物
璀璨的珍珠、密钉和个性化珠宝:Lily & Roo
2021/01/21 全球购物
采购部岗位职责
2013/11/24 职场文书
农场厂长岗位职责
2013/12/28 职场文书
励志广播稿300字(5篇)
2014/09/15 职场文书
2014教师“四风问题”对照检查材料思想汇报
2014/09/16 职场文书
2015年乡镇扶贫工作总结
2015/04/08 职场文书
幼儿园见习总结
2015/06/23 职场文书
公司业务员管理制度
2015/08/05 职场文书
2019年销售部季度工作计划3篇
2019/10/09 职场文书
python爬虫selenium模块详解
2021/03/30 Python