


Comment résoudre le problème selon lequel l'ajout de nœuds enfants est toujours répété lorsque zTree est chargé de manière asynchrone
Cette fois, je vais vous montrer comment résoudre le problème selon lequel l'ajout de nœuds enfants est toujours répété lorsque zTree est chargé de manière asynchrone. Quels sont les problèmes ? précautions ? Voici des cas pratiques.
zTree est un "plug-in d'arbre" multifonctionnel implémenté par jQuery. A travers cet article, je partagerai avec vous le problème de duplication du chargement asynchrone de jQuery zTree pour ajouter des nœuds enfants. Les amis qui en ont besoin peuvent s'y référer
Introduction à zTree
zTree est un "plug-in d'arbre" multifonctionnel implémenté avec jQuery. D'excellentes performances, une configuration flexible et une combinaison de plusieurs fonctions sont les plus grands avantages de zTree. zTree est un logiciel open source et gratuit (licence MIT). Si vous êtes intéressé par zTree ou si vous souhaitez financer le développement continu de zTree, vous pouvez faire un don.- zTree v3.0 divise le code principal en fonction des fonctions, et le code inutile n'a pas besoin d'être chargé
- Adopte la technologie de chargement paresseux. . Des dizaines de milliers de nœuds peuvent être facilement chargés, même sous IE6, il peut essentiellement être tué instantanément
- Compatible avec IE, FireFox, Chrome, Opera, Safari et d'autres navigateurs
.
- Prend en charge les données JSON
- Prend en charge le chargement statique et asynchrone Ajax des données de nœud
- Prend en charge tout changement de skin/ icône personnalisée (repose sur CSS)
- Prend en charge la fonction de case à cocher ou de sélection radio extrêmement flexible
- Fournit une variété de
événements rappels de réponse
- Fonctions d'édition flexibles (ajouter/supprimer/modifier/vérifier), vous pouvez faire glisser et déposer des nœuds à volonté, et vous pouvez faire glisser et déposer plusieurs nœuds
- Sur une seule page, plusieurs instances d'arbre peuvent être générées en même temps
- Configuration simple des paramètres pour obtenir des fonctions flexibles et modifiables
Question originale
//添加结点, 产品和版本 function addNode(event) { rMenu.css({ "visibility": "hidden" }); var treeNode = zTree.getSelectedNodes()[0]; var pid; var nodeName; var treelevel; if (!treeNode && event.target.tagName.toLowerCase() != "button" && $(event.target).parents("a").length == 0) { //添加产品结点 pid = 0; treeNode = null; treelevel = 1; } else if (treeNode) { //添加版本结点 pid = treeNode.id; treelevel = 2; } $.post( "AddNode.action", { type: treelevel, id: pid }, function(nodeIdAndName) { var params = /([^\|]+)\|([^\|]+)/.exec(nodeIdAndName); if (!((!treeNode && event.target.tagName.toLowerCase() != "button" && $(event.target).parents("a").length == 0) || treeNode.open)) { zTree.expandNode(treeNode, true); } treeNode = zTree.addNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel }); }); }
Méthode 1
Remplacerif (!((!treeNode && event.target.tagName.toLowerCase() != "button" && $(event.target).parents("a").length == 0) || treeNode.open)) { zTree.expandNode(treeNode, true); } treeNode = zTree.addNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel });
if(!treeNode && event.target.tagName.toLowerCase() != "button" && $(event.target).parents("a").length == 0) { treeNode = zTree.addNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel }); } else if(treeNode.open) { if(treeNode.isParent) { zTree.reAsyncChildNodes(treeNode, "refresh"); } else { treeNode.isParent=true; zTree.reAsyncChildNodes(treeNode, "refresh"); } } else { zTree.expandNode(treeNode, true); treeNode = zTree.addNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel }); }
La meilleure façon
Ça n'a pas l'air si gênant, n'est-ce pas ? J'ai répondu à une question similaire il y a deux jours. 1. Après avoir cliqué pour ajouter un nœud enfant, envoyez directement ajax en arrière-plan pour enregistrer les données et capturer l'événement de réussite 2 Lorsque ajax réussit, vous pouvez utiliser treeNode.zAsync. attribut pour savoir si le nœud parent est Un chargement asynchrone a été effectué. S'il est faux, alors directement reAsyncChildNodes est actualisé. Si c'est vrai, alors utilisez addN...if ((!treeNode && event.target.tagName.toLowerCase() != "button" && $(event.target).parents("a").length == 0) || treeNode.zAsync) treeNode = zTree.addNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel }); else zTree.reAsyncChildNodes(treeNode, "refresh");
Je pense que vous avez lu le cas dans cet article. Après avoir maîtrisé la méthode, veuillez prêter attention aux autres articles connexes sur le site Web php chinois pour un contenu plus passionnant !
Lecture recommandée :
Comment découvrir des éléments cachés dans l'espace videComment réaliser une liaison sans actualisation de listes déroulantes avec AjaxExplication détaillée de l'absence de nouvelle constructionimplémentation jQuery de la navigation par menu déroulantCe 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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

De nombreux utilisateurs privilégient de plus en plus l'écosystème électronique d'interconnexion de la maison intelligente Xiaomi dans la vie moderne. Après vous être connecté à l'application Mijia, vous pouvez facilement contrôler les appareils connectés avec votre téléphone mobile. Cependant, de nombreux utilisateurs ne savent toujours pas comment ajouter Mijia à. leur application Homes., ce guide didacticiel vous présentera les méthodes et étapes de connexion spécifiques, dans l'espoir d'aider tous ceux qui en ont besoin. 1. Après avoir téléchargé l'application Mijia, créez ou connectez-vous au compte Xiaomi. 2. Méthode d'ajout : Une fois le nouvel appareil allumé, rapprochez le téléphone de l'appareil et allumez le téléviseur Xiaomi. Dans des circonstances normales, une invite de connexion apparaîtra. Sélectionnez « OK » pour entrer dans le processus de connexion de l'appareil. Si aucune invite ne s'affiche, vous pouvez également ajouter l'appareil manuellement. La méthode est la suivante : après avoir accédé à l'application Smart Home, cliquez sur le premier bouton en bas à gauche.

Lors de l'achat d'un ordinateur, nous ne choisissons pas nécessairement un gros disque dur. À ce stade, si nous voulons ajouter un nouveau disque dur à win11, nous pouvons d'abord installer le nouveau disque dur que nous avons acheté, puis ajouter des partitions à l'ordinateur. Tutoriel sur l'ajout d'un nouveau disque dur dans win11 : 1. Tout d'abord, nous démontons l'hôte et trouvons l'emplacement du disque dur. 2. Après l'avoir trouvé, nous connectons d'abord le « câble de données », qui a généralement une conception infaillible. S'il ne peut pas être inséré, inversez simplement le sens. 3. Insérez ensuite le nouveau disque dur dans l'emplacement pour disque dur. 4. Après l'insertion, connectez l'autre extrémité du câble de données à la carte mère de l'ordinateur. 5. Une fois l'installation terminée, vous pouvez le remettre dans l'hôte et l'allumer. 6. Après le démarrage, cliquez avec le bouton droit sur "Cet ordinateur" et ouvrez "Gestion de l'ordinateur" 7. Après ouverture, cliquez sur "Gestion des disques" dans le coin inférieur gauche 8. Ensuite, à droite, vous pouvez

Dans Win11, nous pouvons démarrer rapidement des logiciels ou des fichiers sur le bureau en ajoutant des raccourcis sur le bureau, et il nous suffit de cliquer avec le bouton droit sur les fichiers requis pour fonctionner. Ajouter un raccourci sur le bureau dans win11 : 1. Ouvrez « Ce PC » et recherchez le fichier ou le logiciel auquel vous souhaitez ajouter un raccourci sur le bureau. 2. Après l'avoir trouvé, faites un clic droit pour le sélectionner et cliquez sur "Afficher plus d'options" 3. Sélectionnez ensuite "Envoyer à" - "Raccourci du bureau" 4. Une fois l'opération terminée, vous pouvez trouver le raccourci sur le bureau.

L'extension Tampermonkey Chrome est un plug-in de gestion de scripts utilisateur qui améliore l'efficacité des utilisateurs et l'expérience de navigation via des scripts. Alors, comment Tampermonkey ajoute-t-il de nouveaux scripts ? Comment supprimer le script ? Laissez l'éditeur vous donner la réponse ci-dessous ! Comment ajouter un nouveau script à Tampermonkey : 1. Prenez GreasyFork comme exemple. Ouvrez la page Web de GreasyFork et entrez le script que vous souhaitez suivre. L'éditeur choisit ici le téléchargement hors ligne en un clic. 2. Sélectionnez un script. Après être entré dans la page du script, vous pouvez voir le bouton pour installer ce script. 3. Cliquez pour installer ce script pour accéder à l'interface d'installation. Cliquez simplement ici pour installer. 4. Nous pouvons voir l'installé en un clic dans le script d'installation.

Comment ajouter un filigrane aux images dans Vue ? Vue est un framework JavaScript populaire largement utilisé pour créer des applications Web. Parfois, nous devons ajouter des filigranes aux images dans les applications Vue pour protéger les droits d'auteur de l'image ou augmenter la reconnaissabilité de l'image. Dans cet article, je vais vous présenter une méthode d'ajout de filigranes aux images dans Vue et fournir des exemples de code correspondants. La première étape consiste à introduire une bibliothèque tierce pour ajouter des filigranes à Vue. Il est recommandé d'utiliser un filigrane

Comment ajouter un réseau PolygonMainnet Pour utiliser MATIC (Polygon) avec Metamask, vous devez ajouter un réseau privé appelé "PolygonMainnet". Un transfert avec une mauvaise adresse réseau peut causer des problèmes, alors assurez-vous d'utiliser le réseau "PolygonMainnet" avant de transférer hors de $MATIC. Le portefeuille Metamask est connecté par défaut au réseau principal Ethereum, mais nous pouvons simplement ajouter « PolygonMainnet » et utiliser $MATIC. Juste quelques étapes simples de copier-coller et le tour est joué. Tout d'abord, dans le portefeuille Metamask, cliquez sur l'option réseau dans le coin supérieur droit et sélectionnez "C
![Outlook bloqué lors de l'ajout d'un compte [Corrigé]](https://img.php.cn/upload/article/000/887/227/171116770937641.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Lorsque vous rencontrez des problèmes pour ajouter des comptes dans Outlook, vous pouvez essayer les solutions suivantes pour les résoudre. Cela peut généralement être dû à une connexion réseau défectueuse, à des profils utilisateur corrompus ou à d'autres problèmes temporaires. Grâce aux méthodes fournies dans cet article, vous pouvez facilement résoudre ces problèmes et vous assurer que votre Outlook peut fonctionner normalement. Outlook bloqué lors de l'ajout d'un compte Si votre Outlook est bloqué lors de l'ajout d'un compte, utilisez les correctifs mentionnés ci-dessous : Déconnectez et reconnectez Internet Désactivez temporairement le logiciel antivirus Créez un nouveau profil Outlook Essayez d'ajouter un compte en mode sans échec Désactivez IPv6 Exécutez la réparation de l'assistant de support et de récupération Microsoft Application Office Outlook Ajouter un compte requis

Méthodes courantes d'ajout d'éléments aux tableaux Java, des exemples de code spécifiques sont requis. En Java, un tableau est une structure de données courante qui peut stocker plusieurs éléments du même type. Dans le développement réel, nous devons souvent ajouter de nouveaux éléments au tableau. Cet article présentera les méthodes courantes d'ajout d'éléments aux tableaux en Java et fournira des exemples de code spécifiques. Un moyen simple de créer un nouveau tableau à l'aide d'une boucle consiste à créer un nouveau tableau, à copier les éléments de l'ancien tableau dans le nouveau tableau et à ajouter les nouveaux éléments. L'exemple de code est le suivant : //tableau original i
