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的获得各种控件Value的方法
Nov 19 Javascript
window.name代替cookie的实现代码
Nov 28 Javascript
jquery中.add()的使用分析
Apr 26 Javascript
JQuery对class属性的操作实现按钮开关效果
Oct 11 Javascript
js如何调用qq互联api实现第三方登录
Mar 28 Javascript
Javascript 运动中Offset的bug解决方案
Dec 24 Javascript
js实现div层缓慢收缩与展开的方法
May 11 Javascript
基于JS实现9种不同的面包屑和分布式多步骤导航效果
Feb 21 Javascript
无法获取隐藏元素宽度和高度的解决方案
Mar 07 Javascript
用原生JS实现简单的多选框功能
Jun 12 Javascript
学习jQuery中的noConflict()用法
Sep 28 jQuery
Angularjs实现数组随机排序的方法
Oct 02 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/12/05 PHP
php设计模式 Mediator (中介者模式)
2011/06/26 PHP
php检查字符串中是否有外链的方法
2015/07/29 PHP
php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法
2015/11/30 PHP
PHP实现递归目录的5种方法
2016/10/27 PHP
js版本A*寻路算法
2006/12/22 Javascript
List Installed Hot Fixes
2007/06/12 Javascript
jQuery 操作下拉列表框实现代码
2010/02/22 Javascript
extjs之去除s.gif的影响
2010/12/25 Javascript
Javascript中 关于prototype属性实现继承的原理图
2013/04/16 Javascript
js导出txt示例代码
2014/01/14 Javascript
jQuery实现div浮动层跟随页面滚动效果
2014/02/11 Javascript
详谈javascript中的cookie
2015/06/03 Javascript
JS+CSS实现的竖向简洁折叠菜单效果代码
2015/10/22 Javascript
bootstrap——bootstrapTable实现隐藏列的示例
2017/01/14 Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
2017/02/16 Javascript
js从输入框读取内容,比较两个数字的大小方法
2017/03/13 Javascript
Python使用Matplotlib实现雨点图动画效果的方法
2017/12/23 Python
Django中Model的使用方法教程
2018/03/07 Python
Python基于SMTP协议实现发送邮件功能详解
2018/08/14 Python
python selenium 查找隐藏元素 自动播放视频功能
2019/07/24 Python
python 实现矩阵填充0的例子
2019/11/29 Python
浅谈对pytroch中torch.autograd.backward的思考
2019/12/27 Python
在django中使用post方法时,需要增加csrftoken的例子
2020/03/13 Python
pytorch  网络参数 weight bias 初始化详解
2020/06/24 Python
绝对令人的惊叹的CSS3折叠效果(3D效果)整理
2012/12/30 HTML / CSS
新员工培训个人的自我评价
2013/10/09 职场文书
中学生家长评语大全
2014/04/16 职场文书
态度决定一切演讲稿
2014/05/20 职场文书
环境科学专业教师求职信
2014/07/12 职场文书
酒店总经理岗位职责范本
2014/08/08 职场文书
电工实训报告总结
2014/11/05 职场文书
公司总经理岗位职责
2015/04/01 职场文书
手写实现JS中的new
2021/11/07 Javascript
Flutter Navigator 实现路由传递参数
2022/04/22 Java/Android
mysql幻读详解实例以及解决办法
2022/06/16 MySQL