Maison interface Web js tutoriel Comment charger dynamiquement des données à l'aide de TreeView dans le framework Bootstrap

Comment charger dynamiquement des données à l'aide de TreeView dans le framework Bootstrap

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

Cet article implémente l'utilisation de l'arborescence bootstrap pour charger dynamiquement les données et ajoute une fonction de recherche rapide. Les amis qui en ont besoin peuvent se référer à

et l'écrire devant :

Le plug-in d'arborescence de liste multi-niveaux jQuery est basé sur Bootstrap et affiche certaines structures arborescentes d'héritage, telles que les arbres de vue, les arbres de liste, etc., d'une manière simple et élégante.

Bootstrap Tree View est un plug-in d'effets spéciaux de menu d'arborescence Bootstrap pratique. C'est un très bon plug-in Bootstrap. De nombreuses pages produites par Bootstrap ont désormais besoin de cette fonction. jQuery 2.0 ou supérieur. Il prend en charge de nombreux paramètres, tels que les couleurs, les couleurs d'arrière-plan, les icônes, les liens, etc., sont toujours très bons.

Veuillez vous déplacer temporairement vers : http://jonmiles.github.io/bootstrap-treeview/

D'accord, sans plus tarder, commençons.

Nécessite que les utilisateurs interrogent rapidement les informations sur les noms régionaux des provinces et des villes (pour référence de l'utilisateur, utilisées pour normaliser l'écriture et les modèles d'importation) et les afficher dans une arborescence.

Affichage de l'effet final :

1. Structure du tableau de données La source de données est le tableau d'informations régionales de la province et de la ville, qui est une structure auto-associée. Comme le montre l'image :

2. Première page

1. Introduction de la page

<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>
Copier après la connexion
2. 🎜>

Script 3.js
<!-- 省市区地域查询展示 -->
 <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>
Copier après la connexion

3. Le code principal en arrière-plan utilise le framework SpringMVC+Spring+Mybatis. Ce qui suit est le code de la couche Controller
$(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("省市区地域信息加载失败!")
    }
   });
  });
Copier après la connexion
<🎜. >

Ce qui précède est ce que j'ai compilé. Pour tout le monde, j'espère que cela sera utile à tout le monde à l'avenir.

@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;
 }
Copier après la connexion
Articles associés :

Utiliser ui-route pour implémenter le routage imbriqué multicouche dans AngularJS (tutoriel détaillé)

Utiliser Vue+ Comment pour obtenir un rétrécissement du texte dans des colonnes spécifiées de tableaux avec jquery

Comment implémenter un centre commercial en utilisant vue

Comment implémenter des effets de souris Web (détail tutoriel)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment faire le centrage vertical de bootstrap Comment faire le centrage vertical de bootstrap Apr 07, 2025 pm 03:21 PM

Utilisez Bootstrap pour implémenter Centering vertical: Flexbox Méthode: Utilisez les classes D-Flex, Justify-Content-Center et Align-Items-Center pour placer des éléments dans le conteneur Flexbox. Méthode de classe Align-Items-Center: Pour les navigateurs qui ne prennent pas en charge FlexBox, utilisez la classe Align-Items-Center, à condition que l'élément parent ait une hauteur définie.

Comment utiliser le bouton bootstrap Comment utiliser le bouton bootstrap Apr 07, 2025 pm 03:09 PM

Comment utiliser le bouton bootstrap? Introduisez Bootstrap CSS pour créer des éléments de bouton et ajoutez la classe de bouton bootstrap pour ajouter du texte du bouton

Comment redimensionner le bootstrap Comment redimensionner le bootstrap Apr 07, 2025 pm 03:18 PM

Pour ajuster la taille des éléments dans Bootstrap, vous pouvez utiliser la classe de dimension, qui comprend: ajuster la largeur: .col-, .w-, .mw-ajustement Hauteur: .h-, .min-h-, .max-h-

Comment insérer des photos sur bootstrap Comment insérer des photos sur bootstrap Apr 07, 2025 pm 03:30 PM

Il existe plusieurs façons d'insérer des images dans Bootstrap: insérer directement les images, en utilisant la balise HTML IMG. Avec le composant d'image bootstrap, vous pouvez fournir des images réactives et plus de styles. Définissez la taille de l'image, utilisez la classe IMG-FLUID pour rendre l'image adaptable. Réglez la bordure en utilisant la classe IMG-border. Réglez les coins arrondis et utilisez la classe Roundée IMG. Réglez l'ombre, utilisez la classe Shadow. Redimensionner et positionner l'image, en utilisant le style CSS. À l'aide de l'image d'arrière-plan, utilisez la propriété CSS d'image d'arrière-plan.

Comment configurer le cadre de bootstrap Comment configurer le cadre de bootstrap Apr 07, 2025 pm 03:27 PM

Pour configurer le framework Bootstrap, vous devez suivre ces étapes: 1. Référez le fichier bootstrap via CDN; 2. Téléchargez et hébergez le fichier sur votre propre serveur; 3. Incluez le fichier bootstrap dans HTML; 4. Compiler les sass / moins au besoin; 5. Importer un fichier personnalisé (facultatif). Une fois la configuration terminée, vous pouvez utiliser les systèmes, composants et styles de grille de Bootstrap pour créer des sites Web et des applications réactifs.

Comment obtenir la barre de recherche bootstrap Comment obtenir la barre de recherche bootstrap Apr 07, 2025 pm 03:33 PM

Comment utiliser Bootstrap pour obtenir la valeur de la barre de recherche: détermine l'ID ou le nom de la barre de recherche. Utilisez JavaScript pour obtenir des éléments DOM. Obtient la valeur de l'élément. Effectuer les actions requises.

Comment télécharger des fichiers sur bootstrap Comment télécharger des fichiers sur bootstrap Apr 07, 2025 pm 01:09 PM

La fonction de téléchargement de fichiers peut être implémentée via Bootstrap. Les étapes sont les suivantes: introduire les fichiers Bootstrap CSS et JavaScript; créer des champs d'entrée de fichier; créer des boutons de téléchargement de fichiers; gérer les téléchargements de fichiers (à l'aide de FormData pour collecter des données, puis envoyer au serveur); style personnalisé (facultatif).

Comment vérifier la date de bootstrap Comment vérifier la date de bootstrap Apr 07, 2025 pm 03:06 PM

Pour vérifier les dates dans Bootstrap, suivez ces étapes: introduisez les scripts et styles requis; initialiser le composant de sélecteur de date; Définissez l'attribut Data-BV-Date pour activer la vérification; Configurer les règles de vérification (telles que les formats de date, les messages d'erreur, etc.); Intégrez le cadre de vérification de bootstrap et vérifiez automatiquement l'entrée de date lorsque le formulaire est soumis.

See all articles