Maison  >  Article  >  interface Web  >  Jquery zTree contrôle de l'arborescence chargement asynchrone opération_jquery

Jquery zTree contrôle de l'arborescence chargement asynchrone opération_jquery

WBOY
WBOYoriginal
2016-05-16 15:13:361291parcourir

zTree utilise le code principal de JQuery pour implémenter un ensemble de plug-ins Tree qui peuvent compléter les fonctions les plus courantes

  • Compatible avec IE, FireFox, Chrome et autres navigateurs
  • Plusieurs instances d'arbre peuvent être générées simultanément sur une seule page
  • Supporte les données JSON
  • Prend en charge la génération statique unique et le chargement asynchrone Ajax de deux manières
  • Prend en charge les réponses et commentaires sur plusieurs événements
  • Prend en charge le déplacement, la modification et la suppression des nœuds d'arborescence
  • Prend en charge tout changement de skin/icône personnalisée (en s'appuyant sur CSS)
  • Prend en charge la fonction de case à cocher ou de sélection radio extrêmement flexible
  • Configuration simple des paramètres pour obtenir des fonctions flexibles

Chargement asynchrone signifie : lorsque vous cliquez pour développer le nœud de l'arborescence, demandez à l'action en arrière-plan de renvoyer les données du nœud enfant du nœud cliqué et de le charger.

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 le nœud de l'arborescence, 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 en 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 la liaison et convertir la chaîne en tableau. :

//过滤异步加载ztree时返回的数据 
 function filter(treeId, parentNode, childNodes) {
  if (!childNodes) 
   return null;  
  childNodes = eval((+childNodes+)); //必须转换为[{id:103,pId:1,name:'子节点3'}];这样的格式 
  return childNodes;
 }

Lorsque vous cliquez pour développer le nœud de l'arborescence ztree, l'action sera demandée pour obtenir les données du nœud enfant et liée.

Ce qui suit est une implémentation de l'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 sont les étapes détaillées pour implémenter l'opération de chargement asynchrone du contrôle d'arborescence Jquery zTree. J'espère que cela sera utile à l'apprentissage de chacun.

Déclaration:
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