91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Bootstrap中treeview如何實現動態加載數據并添加快捷搜索功能

發布時間:2021-07-09 15:01:15 來源:億速云 閱讀:715 作者:小新 欄目:web開發

這篇文章主要介紹了Bootstrap中treeview如何實現動態加載數據并添加快捷搜索功能,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

寫在前面:

jQuery多級列表樹插件基于Bootstrap,以簡單和優雅的方式來顯示一些繼承樹結構,如視圖樹、列表樹等。

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

要求用戶能夠快速查詢到省市區的區域名稱信息(給用戶參考,用于規范書寫導入模板),并且以樹形結構展示。

最終效果展示:

Bootstrap中treeview如何實現動態加載數據并添加快捷搜索功能 

一、 數據表結構 數據源為省市區地域信息表,該表為自關聯結構。如圖:

Bootstrap中treeview如何實現動態加載數據并添加快捷搜索功能 

二、前臺頁面

1.頁面引入

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

2.頁面展示區

<!-- 省市區地域查詢展示 -->
 <div class="container">
  <div class="row">
  <div class="col-sm-4">
   <h5>快捷搜索</h5>
   <!-- <form> -->
   <div class="form-group">
    <label for="input-search" class="sr-only">快捷搜索:</label>
    <input type="input" class="form-control" id="input-search" placeholder="請輸入要查詢的省市區名稱信息..." value="">
   </div>
   **_ <!-- 該部分為復選框,用于豐富搜索體驗,本文忽略
<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">
     準確匹配
    </label>
   </div>
   <div class="checkbox">
    <label>
    <input type="checkbox" class="checkbox" id="chk-reveal-results" value="false">
     顯示結果
    </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">
   <h5>省市區名稱層級樹</h5>
   <div id="treeview-searchable" class=""></div>
  </div>
  <div class="col-sm-4">
   <h5>查詢結果展示</h5>
   <div id="search-output"></div>
  </div>
  </div>
  </div>

3.js 腳本

$(function () {
  var defaultData;
   $.ajax({
    type: "post",
    url: "項目請求路徑方法.json",
    dataType: "json",
    success: function (result) { 
    defaultData=result;
     var initSearchableTree = function() {
     return $('#treeview-searchable').treeview({
      data: defaultData,
      nodeIcon: 'glyphicon glyphicon-globe',
      emptyIcon: '', //沒有子節點的節點圖標
      //collapsed: true,
     });
     };
     var $searchableTree = initSearchableTree();
     $('#treeview-searchable').treeview('collapseAll', { 
     silent : false//設置初始化節點關閉
    });
     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 //設置初始化節點關閉
     });
     }
     //$('.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 + ' 匹配的搜索結果</p>';
      $.each(results, function (index, result) {
      output += '<p>- <span >' + 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//設置初始化節點關閉
     });
     });
    
    },
    error: function () {
     alert("省市區地域信息加載失敗!")
    }
   });
  });

三、后臺主要代碼 后臺采用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 {
 //獲取緩存中的省市區信息(本項目直接從緩存中獲取,也可以單獨寫方法到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());
  //盛放區縣
  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;
 }

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Bootstrap中treeview如何實現動態加載數據并添加快捷搜索功能”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

晴隆县| 蕉岭县| 博罗县| 高邮市| 赤壁市| 曲靖市| 安岳县| 从化市| 台前县| 泰来县| 正镶白旗| 图们市| 平远县| 营山县| 枝江市| 浮梁县| 喀喇沁旗| 中宁县| 淄博市| 庐江县| 西盟| 榆社县| 古浪县| 宁远县| 泸州市| 海淀区| 磐石市| 新宁县| 偏关县| 随州市| 浪卡子县| 老河口市| 墨玉县| 运城市| 承德县| 汪清县| 玉龙| 凤翔县| 桂平市| 丰城市| 宝清县|