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 OOP类与继承
Nov 15 Javascript
基于jquery的多功能软键盘插件
Jul 25 Javascript
JavaScript中json对象和string对象之间相互转化
Dec 26 Javascript
详解JavaScript的Polymer框架中的通知交互
Jul 29 Javascript
jquery插件tytabs.jquery.min.js实现渐变TAB选项卡效果
Aug 25 Javascript
jQuery模拟实现的select点击选择效果【附demo源码下载】
Nov 09 Javascript
AngularJS表单基本操作
Jan 09 Javascript
JS实现上传图片实时预览功能
May 22 Javascript
使用prop解决一个checkbox选中后再次选中失效的问题
Jul 05 Javascript
微信小程序左滑动显示菜单功能的实现
Jun 14 Javascript
Vue开发实现吸顶效果的示例代码
Aug 21 Javascript
vue axios重复点击取消上一次请求封装的方法
Jun 19 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实现更新中间关联表数据的两种方法
2014/09/01 PHP
PHP CURL采集百度搜寻结果图片不显示问题的解决方法
2017/02/03 PHP
PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】
2017/02/07 PHP
在Laravel的Model层做数据缓存的实现
2019/09/26 PHP
Ajax+Json 级联菜单实现代码
2009/10/27 Javascript
使用Javascript接收get传递的值的代码
2011/11/30 Javascript
jquery实现的带缩略图的焦点图片切换(自动播放/响应鼠标动作)
2013/01/23 Javascript
js图片模糊切换显示特效的方法
2015/02/17 Javascript
js传值后台中文出现乱码的解决方法
2016/06/30 Javascript
10道典型的JavaScript面试题
2017/03/22 Javascript
关于vue.js组件数据流的问题
2017/07/26 Javascript
jQuery 利用ztree实现树形表格的实例代码
2017/09/27 jQuery
关于Angularjs中自定义指令一些有价值的细节和技巧小结
2018/04/22 Javascript
vue强制刷新组件的方法示例
2019/02/28 Javascript
JavaScript实现图片伪异步上传过程解析
2020/04/10 Javascript
vue实现购物车加减
2020/05/30 Javascript
python清除字符串里非数字字符的方法
2015/07/02 Python
详解python发送各类邮件的主要方法
2016/12/22 Python
django缓存配置的几种方法详解
2018/07/16 Python
Django中使用Celery的教程详解
2018/08/24 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
2019/07/05 Python
Python数据结构dict常用操作代码实例
2020/03/12 Python
简单了解Python字典copy与赋值的区别
2020/09/16 Python
办公室文秘自我鉴定
2013/09/21 职场文书
工程造价与管理专业应届生求职信
2013/11/23 职场文书
网站开发实习生的自我评价
2013/12/11 职场文书
趣味运动会活动方案
2014/02/12 职场文书
银行求职信
2014/05/31 职场文书
2014年政风行风自查自纠报告
2014/10/21 职场文书
2014年大学生村官工作总结
2014/11/19 职场文书
2014幼儿园班主任工作总结
2014/12/04 职场文书
自考生自我评价
2019/06/21 职场文书
HAM-2000摩机图
2021/04/22 无线电
Django项目如何正确配置日志(logging)
2021/04/29 Python
解决SpringBoot文件上传临时目录找不到的问题
2021/07/01 Java/Android