Heim Web-Frontend js-Tutorial So laden Sie Daten mithilfe der Baumansicht im Bootstrap-Framework dynamisch

So laden Sie Daten mithilfe der Baumansicht im Bootstrap-Framework dynamisch

Jun 13, 2018 pm 01:59 PM
bootstrap 动态加载

Dieser Artikel implementiert die Verwendung von Bootstrap Treeview zum dynamischen Laden von Daten und fügt eine Schnellsuchfunktion hinzu. Freunde, die diese benötigen, können auf

verweisen und es voranstellen:

Das jQuery-Plug-in für mehrstufige Listenbäume basiert auf Bootstrap und zeigt einige Vererbungsbaumstrukturen wie Ansichtsbäume, Listenbäume usw. auf einfache und elegante Weise an.

Bootstrap Tree View ist ein praktisches Bootstrap-Baummenü-Plugin für Spezialeffekte. Viele von Bootstrap erstellte Seiten benötigen diese Funktion jQuery 2.0 oder höher unterstützt viele Parameter wie Farben, Hintergrundfarben, Symbole, Links usw.

Bitte wechseln Sie vorübergehend zu: http://jonmiles.github.io/bootstrap-treeview/

Okay, ohne weitere Umschweife, fangen wir an.

Erfordert, dass Benutzer schnell die regionalen Namensinformationen von Provinzen und Städten abfragen (zur Benutzerreferenz, zur Standardisierung des Schreibens und zum Importieren von Vorlagen) und diese in einer Baumstruktur anzeigen.

Endgültige Effektanzeige:

1. Datentabellenstruktur Die Datenquelle ist die regionale Informationstabelle für Provinz und Stadt, bei der es sich um eine selbstassoziierte Struktur handelt. Wie im Bild gezeigt:

2. Startseite

1. Seiteneinleitung

<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>
Nach dem Login kopieren

2. Seitenanzeigebereich

<!-- 省市区地域查询展示 -->
 <p class="container">
  <p class="row">
  <p class="col-sm-4">
   <h4>快捷搜索</h4>
   <!-- <form> -->
   <p class="form-group">
    <label for="input-search" class="sr-only">快捷搜索:</label>
    <input type="input" class="form-control" id="input-search" placeholder="请输入要查询的省市区名称信息..." value="">
   </p>
   **_ <!-- 该部分为复选框,用于丰富搜索体验,本文忽略
<p class="checkbox">
    <label>
    <input type="checkbox" class="checkbox" id="chk-ignore-case" value="false"/>
     忽略大小写
    </label>
   </p>
   <p class="checkbox">
    <label>
    <input type="checkbox" class="checkbox" id="chk-exact-match" value="false">
     准确匹配
    </label>
   </p>
   <p class="checkbox">
    <label>
    <input type="checkbox" class="checkbox" id="chk-reveal-results" value="false">
     显示结果
    </label>
   </p> -->_**
   <button type="button" class="btn btn-success" id="btn-search">搜索</button>
   <button type="button" class="btn btn-default" id="btn-clear-search">清除</button>
   <!-- </form> -->
  </p>
  <p class="col-sm-4">
   <h4>省市区名称层级树</h4>
   <p id="treeview-searchable" class=""></p>
  </p>
  <p class="col-sm-4">
   <h4>查询结果展示</h4>
   <p id="search-output"></p>
  </p>
  </p>
  </p>
Nach dem Login kopieren

3.js-Skript

$(function () {
  var defaultData;
   $.ajax({
    type: "post",
    url: "项目请求路径方法.json",
    dataType: "json",
    success: function (result) { 
    defaultData=result;
     var initSearchableTree = function() {
     return $(&#39;#treeview-searchable&#39;).treeview({
      data: defaultData,
      nodeIcon: &#39;glyphicon glyphicon-globe&#39;,
      emptyIcon: &#39;&#39;, //没有子节点的节点图标
      //collapsed: true,
     });
     };
     var $searchableTree = initSearchableTree();
     $(&#39;#treeview-searchable&#39;).treeview(&#39;collapseAll&#39;, { 
     silent : false//设置初始化节点关闭
    });
     var findSearchableNodes = function() {
     return $searchableTree.treeview(&#39;search&#39;, [ $.trim($(&#39;#input-search&#39;).val()), { ignoreCase: false, exactMatch: false } ]);
     };
     var searchableNodes = findSearchableNodes();
     // Select/unselect/toggle nodes
     $(&#39;#input-search&#39;).on(&#39;keyup&#39;, function (e) {
     var str = $(&#39;#input-search&#39;).val(); 
     if($.trim(str).length>0){
      searchableNodes = findSearchableNodes();
     } else {
     $(&#39;#treeview-searchable&#39;).treeview(&#39;collapseAll&#39;, { 
      silent : false //设置初始化节点关闭
     });
     }
     //$(&#39;.select-node&#39;).prop(&#39;disabled&#39;, !(searchableNodes.length >= 1));
     });
    var search = function(e) {
      var pattern = $.trim($(&#39;#input-search&#39;).val());
      var options = {
      ignoreCase: $(&#39;#chk-ignore-case&#39;).is(&#39;:checked&#39;),
      exactMatch: $(&#39;#chk-exact-match&#39;).is(&#39;:checked&#39;),
      revealResults: $(&#39;#chk-reveal-results&#39;).is(&#39;:checked&#39;)
      };
      var results = $searchableTree.treeview(&#39;search&#39;, [ pattern, options ]);
      var output = &#39;<p>&#39; + results.length + &#39; 匹配的搜索结果</p>&#39;;
      $.each(results, function (index, result) {
      output += &#39;<p>- <span style="color:red;">&#39; + result.text + &#39;</span></p>&#39;;
      });
      $(&#39;#search-output&#39;).html(output);
     }
     $(&#39;#btn-search&#39;).on(&#39;click&#39;, search);
     $(&#39;#input-search&#39;).on(&#39;keyup&#39;, search);
     $(&#39;#btn-clear-search&#39;).on(&#39;click&#39;, function (e) {
      $searchableTree.treeview(&#39;clearSearch&#39;);
      $(&#39;#input-search&#39;).val(&#39;&#39;);
      $(&#39;#search-output&#39;).html(&#39;&#39;);
      $(&#39;#treeview-searchable&#39;).treeview(&#39;collapseAll&#39;, {
      silent : false//设置初始化节点关闭
     });
     });
    
    },
    error: function () {
     alert("省市区地域信息加载失败!")
    }
   });
  });
Nach dem Login kopieren

3. Der Haupthintergrundcode Der Hintergrund verwendet das SpringMVC+Spring+Mybatis-Framework. Das Folgende ist der Controller-Layer-Code

@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;
 }
Nach dem Login kopieren

Das Obige ist was Ich habe es für alle zusammengestellt und hoffe, dass es Ihnen in Zukunft nützlich sein wird.

Verwandte Artikel:

UI-Route verwenden, um mehrschichtiges verschachteltes Routing in AngularJS zu implementieren (ausführliches Tutorial)

Verwendung von Vue+ How um mit jquery eine Textverkleinerung in bestimmten Tabellenspalten zu erreichen

So implementieren Sie ein Einkaufszentrum mit Vue

So implementieren Sie Web-Mauseffekte (ausführlich Tutorial)

Das obige ist der detaillierte Inhalt vonSo laden Sie Daten mithilfe der Baumansicht im Bootstrap-Framework dynamisch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So erhalten Sie die Bootstrap -Suchleiste So erhalten Sie die Bootstrap -Suchleiste Apr 07, 2025 pm 03:33 PM

So verwenden Sie Bootstrap, um den Wert der Suchleiste zu erhalten: Bestimmt die ID oder den Namen der Suchleiste. Verwenden Sie JavaScript, um DOM -Elemente zu erhalten. Holen Sie sich den Wert des Elements. Führen Sie die erforderlichen Maßnahmen aus.

Wie man vertikale Zentrierung von Bootstrap macht Wie man vertikale Zentrierung von Bootstrap macht Apr 07, 2025 pm 03:21 PM

Verwenden Sie Bootstrap, um die vertikale Zentrierung zu implementieren: FlexBox-Methode: Verwenden Sie den D-Flex, den Justify-Content-Center und die Ausrichtungsklassen aus Align-Item-Center, um Elemente in den Flexbox-Behälter zu platzieren. Methode für Ausstellungs-Iitem-Center-Klassen: Bei Browsern, die Flexbox nicht unterstützen, verwenden Sie die Klasse aus Align-items-Center-Klasse, vorausgesetzt, das übergeordnete Element hat eine definierte Höhe.

So schreiben Sie geteilte Zeilen auf Bootstrap So schreiben Sie geteilte Zeilen auf Bootstrap Apr 07, 2025 pm 03:12 PM

Es gibt zwei Möglichkeiten, eine Bootstrap -Split -Zeile zu erstellen: Verwenden des Tags, das eine horizontale Split -Linie erstellt. Verwenden Sie die CSS -Border -Eigenschaft, um benutzerdefinierte Style Split -Linien zu erstellen.

So fügen Sie Bilder auf Bootstrap ein So fügen Sie Bilder auf Bootstrap ein Apr 07, 2025 pm 03:30 PM

Es gibt verschiedene Möglichkeiten, Bilder in Bootstrap einzufügen: Bilder direkt mit dem HTML -IMG -Tag einfügen. Mit der Bootstrap -Bildkomponente können Sie reaktionsschnelle Bilder und weitere Stile bereitstellen. Legen Sie die Bildgröße fest und verwenden Sie die IMG-Fluid-Klasse, um das Bild anpassungsfähig zu machen. Stellen Sie den Rand mit der img-beliebten Klasse ein. Stellen Sie die abgerundeten Ecken ein und verwenden Sie die IMG-Rund-Klasse. Setzen Sie den Schatten, verwenden Sie die Schattenklasse. Größen Sie die Größe und positionieren Sie das Bild im CSS -Stil. Verwenden Sie mit dem Hintergrundbild die CSS-Eigenschaft im Hintergrund.

So verwenden Sie Bootstrap in Vue So verwenden Sie Bootstrap in Vue Apr 07, 2025 pm 11:33 PM

Die Verwendung von Bootstrap in Vue.js ist in fünf Schritte unterteilt: Startstrap installieren. Bootstrap in main.js. Verwenden Sie die Bootstrap -Komponente direkt in der Vorlage. Optional: benutzerdefinierter Stil. Optional: Verwenden Sie Plug-Ins.

So ändern Sie Bootstrap So ändern Sie Bootstrap Apr 07, 2025 pm 03:18 PM

Um die Größe der Elemente in Bootstrap anzupassen, können Sie die Dimensionsklasse verwenden, einschließlich: Einstellbreite:.

So richten Sie das Framework für Bootstrap ein So richten Sie das Framework für Bootstrap ein Apr 07, 2025 pm 03:27 PM

Um das Bootstrap -Framework einzurichten, müssen Sie die folgenden Schritte befolgen: 1. Verweisen Sie die Bootstrap -Datei über CDN; 2. Laden Sie die Datei auf Ihrem eigenen Server herunter und hosten Sie sie. 3.. Fügen Sie die Bootstrap -Datei in HTML hinzu; 4. Kompilieren Sie Sass/weniger bei Bedarf; 5. Importieren Sie eine benutzerdefinierte Datei (optional). Sobald die Einrichtung abgeschlossen ist, können Sie die Grid -Systeme, -Komponenten und -stile von Bootstrap verwenden, um reaktionsschnelle Websites und Anwendungen zu erstellen.

So verwenden Sie die Bootstrap -Taste So verwenden Sie die Bootstrap -Taste Apr 07, 2025 pm 03:09 PM

Wie benutze ich die Bootstrap -Taste? Führen Sie Bootstrap -CSS ein, um Schaltflächenelemente zu erstellen, und fügen Sie die Schaltfläche "Bootstrap" hinzu, um Schaltflächentext hinzuzufügen

See all articles