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(); });});});個人使用有效。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答