亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Bootstrap treeview實(shí)現(xiàn)動(dòng)態(tài)加載數(shù)據(jù)并添加快捷搜索功能

 更新時(shí)間:2018年01月07日 16:32:31   作者:萌唬嚇刪  
本文實(shí)現(xiàn)了運(yùn)用bootstrap treeview實(shí)現(xiàn)動(dòng)態(tài)加載數(shù)據(jù),并且添加快捷搜索功能,需要的朋友參考下

寫在前面:

jQuery多級(jí)列表樹插件基于Bootstrap,以簡(jiǎn)單和優(yōu)雅的方式來(lái)顯示一些繼承樹結(jié)構(gòu),如視圖樹、列表樹等。

實(shí)用Bootstrap樹形菜單特效插件Bootstrap Tree View,非常不錯(cuò)的Bootstrap插件,現(xiàn)在很多Bootstrap制作的頁(yè)面都需要此功能,此插件需要Bootstrap3版本以及jQuery 2.0極以上版本支持,支持眾多參數(shù)自定義功能,顏色、背景色、圖標(biāo)、鏈接等,還是很不錯(cuò)的。

具體效果請(qǐng)暫時(shí)移步: http://jonmiles.github.io/bootstrap-treeview/

好了,話不多說(shuō),開整。

要求用戶能夠快速查詢到省市區(qū)的區(qū)域名稱信息(給用戶參考,用于規(guī)范書寫導(dǎo)入模板),并且以樹形結(jié)構(gòu)展示。

最終效果展示:

 

一、 數(shù)據(jù)表結(jié)構(gòu) 數(shù)據(jù)源為省市區(qū)地域信息表,該表為自關(guān)聯(lián)結(jié)構(gòu)。如圖:

 

二、前臺(tái)頁(yè)面

1.頁(yè)面引入

<link rel="stylesheet" href="項(xiàng)目靜態(tài)資源路徑/bootstrap-treeview/css/bootstrap.css" rel="external nofollow" >
 <script type="text/javascript" src="項(xiàng)目靜態(tài)資源路徑/js/jquery/3.1.0/jquery-3.1.0.min.js"></script>
 <script type="text/javascript" src="項(xiàng)目靜態(tài)資源路徑/bootstrap/bootstrap.js"></script>
 <script type="text/javascript" src="項(xiàng)目靜態(tài)資源路徑/bootstrap-treeview/js/jquery.js"></script>
 <script type="text/javascript" src="項(xiàng)目靜態(tài)資源路徑/bootstrap-treeview/js/bootstrap-treeview.js"> </script>

2.頁(yè)面展示區(qū)

<!-- 省市區(qū)地域查詢展示 -->
 <div class="container">
  <div class="row">
  <div class="col-sm-4">
   <h4>快捷搜索</h4>
   <!-- <form> -->
   <div class="form-group">
    <label for="input-search" class="sr-only">快捷搜索:</label>
    <input type="input" class="form-control" id="input-search" placeholder="請(qǐng)輸入要查詢的省市區(qū)名稱信息..." value="">
   </div>
   **_ <!-- 該部分為復(fù)選框,用于豐富搜索體驗(yàn),本文忽略
<div class="checkbox">
    <label>
    <input type="checkbox" class="checkbox" id="chk-ignore-case" value="false"/>
     忽略大小寫
    </label>
   </div>
   <div class="checkbox">
    <label>
    <input type="checkbox" class="checkbox" id="chk-exact-match" value="false">
     準(zhǔn)確匹配
    </label>
   </div>
   <div class="checkbox">
    <label>
    <input type="checkbox" class="checkbox" id="chk-reveal-results" value="false">
     顯示結(jié)果
    </label>
   </div> -->_**
   <button type="button" class="btn btn-success" id="btn-search">搜索</button>
   <button type="button" class="btn btn-default" id="btn-clear-search">清除</button>
   <!-- </form> -->
  </div>
  <div class="col-sm-4">
   <h4>省市區(qū)名稱層級(jí)樹</h4>
   <div id="treeview-searchable" class=""></div>
  </div>
  <div class="col-sm-4">
   <h4>查詢結(jié)果展示</h4>
   <div id="search-output"></div>
  </div>
  </div>
  </div>

3.js 腳本

$(function () {
  var defaultData;
   $.ajax({
    type: "post",
    url: "項(xiàng)目請(qǐng)求路徑方法.json",
    dataType: "json",
    success: function (result) { 
    defaultData=result;
     var initSearchableTree = function() {
     return $('#treeview-searchable').treeview({
      data: defaultData,
      nodeIcon: 'glyphicon glyphicon-globe',
      emptyIcon: '', //沒(méi)有子節(jié)點(diǎn)的節(jié)點(diǎn)圖標(biāo)
      //collapsed: true,
     });
     };
     var $searchableTree = initSearchableTree();
     $('#treeview-searchable').treeview('collapseAll', { 
     silent : false//設(shè)置初始化節(jié)點(diǎn)關(guān)閉
    });
     var findSearchableNodes = function() {
     return $searchableTree.treeview('search', [ $.trim($('#input-search').val()), { ignoreCase: false, exactMatch: false } ]);
     };
     var searchableNodes = findSearchableNodes();
     // Select/unselect/toggle nodes
     $('#input-search').on('keyup', function (e) {
     var str = $('#input-search').val(); 
     if($.trim(str).length>0){
      searchableNodes = findSearchableNodes();
     } else {
     $('#treeview-searchable').treeview('collapseAll', { 
      silent : false //設(shè)置初始化節(jié)點(diǎn)關(guān)閉
     });
     }
     //$('.select-node').prop('disabled', !(searchableNodes.length >= 1));
     });
    var search = function(e) {
      var pattern = $.trim($('#input-search').val());
      var options = {
      ignoreCase: $('#chk-ignore-case').is(':checked'),
      exactMatch: $('#chk-exact-match').is(':checked'),
      revealResults: $('#chk-reveal-results').is(':checked')
      };
      var results = $searchableTree.treeview('search', [ pattern, options ]);
      var output = '<p>' + results.length + ' 匹配的搜索結(jié)果</p>';
      $.each(results, function (index, result) {
      output += '<p>- <span style="color:red;">' + result.text + '</span></p>';
      });
      $('#search-output').html(output);
     }
     $('#btn-search').on('click', search);
     $('#input-search').on('keyup', search);
     $('#btn-clear-search').on('click', function (e) {
      $searchableTree.treeview('clearSearch');
      $('#input-search').val('');
      $('#search-output').html('');
      $('#treeview-searchable').treeview('collapseAll', {
      silent : false//設(shè)置初始化節(jié)點(diǎn)關(guān)閉
     });
     });
    
    },
    error: function () {
     alert("省市區(qū)地域信息加載失?。?)
    }
   });
  });

三、后臺(tái)主要代碼 后臺(tái)采用SpringMVC+Spring+Mybatis框架, 以下為Controller層代碼

@ResponseBody
@RequestMapping(value = "/queryAreaInfo", method = { RequestMethod.POST }, produces = MediaType.APPLICATION_JSON_VALUE)
 public List<Object> queryAreaInfo() {
 List<AreaVO> areaInfo=new ArrayList<>();
 try {
 //獲取緩存中的省市區(qū)信息(本項(xiàng)目直接從緩存中獲取,也可以單獨(dú)寫方法到Service、Dao層查詢)
 EcncSysConfig sysConfig = new EcncSysConfig();
 areaInfo = sysConfig.INIT_SYS_ECNC_AREAVO;
 } catch (Throwable e) {
 e.printStackTrace();
 }
 //盛放省份
 List<Object> result=new ArrayList<>();
 for (AreaVO areaVO : areaInfo) {
 Map<String, Object> map= new HashMap<>();
 if("2".equals(areaVO.getGrade())){
 map.put("text", areaVO.getName());
 //盛放地市
 List<Object> cList=new ArrayList<>();
 for (AreaVO cVO : areaInfo) {
  Map<String, Object> cMap=new HashMap<>();
  if (cVO.getParentId() != null && cVO.getParentId().equals(areaVO.getId())) {
  cMap.put("text", cVO.getName());
  //盛放區(qū)縣
  List<Object> rList=new ArrayList<>();
  for (AreaVO rVO : areaInfo) {
  Map<String, Object> rMap=new HashMap<>();
  if (cVO.getId().equals(rVO.getParentId())) {
  rMap.put("text", rVO.getName());
  rList.add(rMap);
  }
  }
  cMap.put("nodes", rList);
  cList.add(cMap);
  }
 }
 map.put("nodes", cList);
 result.add(map);
 }
 }
 return result;
 }

總結(jié)

以上所述是小編給大家介紹的Bootstrap treeview實(shí)現(xiàn)動(dòng)態(tài)加載數(shù)據(jù)并添加快捷搜索功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言!

相關(guān)文章

  • js實(shí)現(xiàn)Form欄顯示全格式時(shí)間時(shí)鐘效果代碼

    js實(shí)現(xiàn)Form欄顯示全格式時(shí)間時(shí)鐘效果代碼

    這篇文章主要介紹了js實(shí)現(xiàn)Form欄顯示全格式時(shí)間時(shí)鐘效果代碼,可讀取當(dāng)前的完整時(shí)間并實(shí)時(shí)顯示,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-08-08
  • js實(shí)現(xiàn)圖片上傳并正常顯示

    js實(shí)現(xiàn)圖片上傳并正常顯示

    這篇文章主要介紹了js實(shí)現(xiàn)圖片上傳并正常顯示,我們經(jīng)常遇到上傳照片的情況,如何實(shí)現(xiàn)圖片上傳,本文為大家進(jìn)行揭曉,感興趣的小伙伴們可以參考一下
    2015-12-12
  • JS事件綁定的常用方式實(shí)例總結(jié)

    JS事件綁定的常用方式實(shí)例總結(jié)

    這篇文章主要介紹了JS事件綁定的常用方式,結(jié)合實(shí)例形式總結(jié)分析了javascript三種常見的事件綁定原理與操作技巧,需要的朋友可以參考下
    2019-03-03
  • JS控制按鈕10秒鐘后可用的方法

    JS控制按鈕10秒鐘后可用的方法

    這篇文章主要介紹了JS控制按鈕10秒鐘后可用的方法,涉及JavaScript基于時(shí)間函數(shù)控制頁(yè)面元素樣式動(dòng)態(tài)變換的技巧,需要的朋友可以參考下
    2015-12-12
  • 前端構(gòu)建工具之gulp的語(yǔ)法教程

    前端構(gòu)建工具之gulp的語(yǔ)法教程

    這篇文章主要給大家介紹了關(guān)于前端構(gòu)建工具之gulp語(yǔ)法的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)跟著小編一起學(xué)習(xí)學(xué)習(xí)下吧。
    2017-06-06
  • JavaScript 隱式類型轉(zhuǎn)換規(guī)則詳解

    JavaScript 隱式類型轉(zhuǎn)換規(guī)則詳解

    這篇文章主要為大家介紹了JavaScript 隱式類型轉(zhuǎn)換規(guī)則詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2023-05-05
  • JavaScript控制瀏覽器全屏顯示簡(jiǎn)單示例

    JavaScript控制瀏覽器全屏顯示簡(jiǎn)單示例

    這篇文章主要介紹了JavaScript控制瀏覽器全屏顯示,結(jié)合簡(jiǎn)單實(shí)例形式分析了JavaScript響應(yīng)鼠標(biāo)事件控制瀏覽器全屏顯示與退出全屏顯示相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • JS函數(shù)的定義與調(diào)用方法推薦

    JS函數(shù)的定義與調(diào)用方法推薦

    下面小編就為大家?guī)?lái)一篇JS函數(shù)的定義與調(diào)用方法推薦。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-05-05
  • 使用get方式提交表單在地址欄里面不顯示提交信息

    使用get方式提交表單在地址欄里面不顯示提交信息

    這篇文章主要介紹了使用get方式提交表單在地址欄里面不顯示提交信息的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • JavaScript極簡(jiǎn)入門教程(三):數(shù)組

    JavaScript極簡(jiǎn)入門教程(三):數(shù)組

    這篇文章主要介紹了JavaScript極簡(jiǎn)入門教程(二):數(shù)組,本文主要講解了數(shù)組的創(chuàng)建和length屬性的介紹,其它方法屬性都沒(méi)有介紹,需要的朋友可以參考下
    2014-10-10

最新評(píng)論