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 相关文章推荐
获取Javscript执行函数名称的方法
Dec 22 Javascript
静态页面下用javascript操作ACCESS数据库(读增改删)的代码
May 14 Javascript
开启BootStrap学习之旅
May 04 Javascript
使用ajaxfileupload.js实现上传文件功能
Aug 13 Javascript
轻松理解Javascript变量的相关问题
Jan 20 Javascript
浅谈angular4实际项目搭建总结
Dec 01 Javascript
js中的reduce()函数讲解
Jan 18 Javascript
详解vue挂载到dom上会发生什么
Jan 20 Javascript
JS实现图片轮播效果实例详解【可自动和手动】
Apr 04 Javascript
使用Easyui实现查询条件的后端传递并自动刷新表格的两种方法
Sep 09 Javascript
微信小程序中插入激励视频广告并获取收益(实例代码)
Dec 06 Javascript
Javascript实现贪吃蛇小游戏(含详细注释)
Oct 23 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
十大催泪虐心动漫,你能坚持看到第几部?
2020/03/04 日漫
为了这两部电子管收音机,买了6套全新电子管和10粒刻度盘灯泡
2021/03/02 无线电
php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
2011/02/08 PHP
php去除换行符的方法小结(PHP_EOL变量的使用)
2013/02/16 PHP
php 无法加载mcrypt.dll的解决办法
2013/04/03 PHP
php post大量数据时发现数据丢失问题解决方法
2015/06/20 PHP
PHP hebrev()函数用法讲解
2019/02/21 PHP
php实例化一个类的具体方法
2019/09/19 PHP
js实现权限树的更新权限时的全选全消功能
2009/02/17 Javascript
javascript string字符串优化问题
2011/07/31 Javascript
treepanel动态加载数据实现代码
2012/12/15 Javascript
jquery单行文字向上滚动效果示例
2014/03/06 Javascript
使用jquery给指定的table动态添加一行、删除一行
2016/10/13 Javascript
使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析
2018/01/16 Javascript
浅谈webpack4 图片处理汇总
2018/09/12 Javascript
Vue中使用 setTimeout() setInterval()函数的问题
2018/09/13 Javascript
Nuxt pages下不同的页面对应layout下的页面布局操作
2020/11/05 Javascript
python 判断自定义对象类型
2009/03/21 Python
python实现逆波兰计算表达式实例详解
2015/05/06 Python
python计算时间差的方法
2015/05/20 Python
python显示生日是星期几的方法
2015/05/27 Python
简单掌握Python中glob模块查找文件路径的用法
2016/07/05 Python
Python文件夹与文件的相关操作(推荐)
2016/07/25 Python
selenium3+python3环境搭建教程图解
2018/12/07 Python
Python实现爬取马云的微博功能示例
2019/02/16 Python
已安装tensorflow-gpu,但keras无法使用GPU加速的解决
2020/02/07 Python
Python 利用Entrez库筛选下载PubMed文献摘要的示例
2020/11/24 Python
python中altair可视化库实例用法
2021/01/26 Python
Html5页面点击遮罩层背景关闭遮罩层
2020/11/30 HTML / CSS
台湾良兴购物网:EcLife
2019/12/01 全球购物
屈臣氏俄罗斯在线商店:Watsons俄罗斯
2020/08/03 全球购物
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
2014/12/30 面试题
人力资源管理系自荐信
2014/05/31 职场文书
警察群众路线对照检查材料思想汇报
2014/10/01 职场文书
机关班子查摆问题及整改措施
2014/10/28 职场文书
导游词之泰山玉皇顶
2019/12/23 职场文书