Cet article présente principalement l'opération de chargement asynchrone du contrôle d'arborescence Jquery zTree, apprenez le chargement asynchrone de Jquery zTree, zTree implémente un ensemble de plug-ins Tree qui peuvent compléter les fonctions les plus courantes, les amis intéressés peuvent s'y référer
zTree utilise le code principal de JQuery pour implémenter un ensemble de plug-ins Tree pouvant compléter les fonctions les plus courantes
Compatible avec IE, FireFox, Chrome et d'autres navigateurs
Plusieurs instances d'arbre peuvent être générées simultanément sur une seule page
Prend en charge les données JSON
Prend en charge la génération statique unique et le chargement asynchrone Ajax
Prend en charge les réponses et commentaires à plusieurs événements
Prend en charge mouvement, édition et suppression des nœuds d'arbre
Prend en charge tout changement de skin/icône personnalisée (en s'appuyant sur CSS)
Prend en charge la fonction de sélection de case à cocher ou de radio extrêmement flexible
Configuration simple des paramètres pour obtenir des fonctions flexibles
Chargement asynchrone Cela signifie : Lorsqu'un nœud d'arbre est cliqué pour développer, l'action en arrière-plan est demandée pour renvoyer les données du nœud enfant du nœud cliqué et chargée.
Ici, nous concevons principalement le paramètre d'attribut asynchrone de la variable de paramètre de ztree :
var setting = { async: { enable: true, url:InitServiceIpsData.action, autoParam:[id, name], dataFilter: filter },
Lorsque vous cliquez pour développer l'arborescence node, L'action spécifiée par l'URL sera demandée pour obtenir les données du nœud enfant, puis liée au ztree.
Notez que l'action d'arrière-plan renvoie ici une chaîne JSON et que ztree ne reçoit des tableaux que lors de la liaison de nouvelles données de nœud. Vous devez donc utiliser la fonction de filtre pour effectuer des opérations de nettoyage et de conversion des données avant de lier pour convertir la chaîne en un tableau. :
//过滤异步加载ztree时返回的数据 function filter(treeId, parentNode, childNodes) { if (!childNodes) return null; childNodes = eval((+childNodes+)); //必须转换为[{id:103,pId:1,name:'子节点3'}];这样的格式 return childNodes; }
De cette façon, lorsque vous cliquez pour développer le nœud de l'arbre ztree, l'action sera demandée pour obtenir le données du nœud enfant et liées.
Ce qui suit est une implémentation d'une action en arrière-plan :
public String InitServiceIpsData() { HttpServletRequest request = ServletActionContext.getRequest(); String id = request.getParameter(id); String name = request.getParameter(name); System.out.println(请求获取+name+的ip列表); List<hashmap<string,object>> list = new ArrayList<hashmap<string,object>>(); for(int i = 1; i <= 2; i++){ HashMap<string,object> hm = new HashMap<string,object>(); hm.put(id, id + 0 + i); hm.put(pId, id); hm.put(name, name + _IP_ + i); hm.put(isParent, false); list.add(hm); } JSONArray finalJson = JSONArray.fromObject(list); this.initServiceIpsData = finalJson.toString(); return SUCCESS; }</string,object></string,object></hashmap<string,object></hashmap<string,object>
Ce qui précède est l'intégralité du contenu de cet article, je j'espère que cela sera utile à tout le monde. Utile, veuillez faire attention au site Web PHP chinois pour plus de contenu connexe !
Recommandations associées :
Le problème du partage d'un composant dans vue+webpack (tutoriel détaillé)
Comment faire en JavaScript Utilisation des méthodes setter et getter
À propos de l'utilisation des composants Gojs dans les composants JS
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!