Maison > interface Web > js tutoriel > le corps du texte

Analyse du problème du chargement asynchrone de l'arbre jQuery Easyui

高洛峰
Libérer: 2016-12-29 13:29:06
original
1245 Les gens l'ont consulté

Quand je veux charger des fichiers json depuis local et les insérer dynamiquement dans ul via des événements, j'ai rencontré un petit bug

Le code dans le html est comme ça

<ul class="easyui-tree" id="tt"></ul>
Copier après la connexion

Code en js

$(".next-menu:nth-child(1) a").click(function() {
var $IDstr = $(this).attr("id"),
$treeIDNum = parseInt($(this).attr("treeID")),
jsonURL = "json/" + $IDstr + ".json",
node;
addAttr2Tree(jsonURL);
changeImgSrc($treeIDNum);
});
});
function changeImgSrc(nodeID){
var node = $("#tt").tree(&#39;find&#39;, nodeID);
if(node){
$("#tt").tree(&#39;select&#39;, node.target);
}
if (node.attributes) {
$("#img-box").attr("src", node.attributes.url);
}
}
function addAttr2Tree(URL){
$("#tt").tree({
url: URL,
method: "get",
animate: true,
lines: true
});
}
Copier après la connexion

Au début, je voulais charger dynamiquement le contenu de l'arborescence via un événement clic sur un bouton, qui est le code ci-dessus, addAttr2Tree est utilisé pour ajouter les données json locales correspondant au moment où le bouton est cliqué à la balise ul en HTML, changeImgSrc est utilisé pour sélectionner certains nœuds d'arborescence et charger des images, mais peu importe la façon dont vous déboguez, une erreur sera toujours apparaît

关于 jQuery Easyui异步加载tree的问题解析

Impossible d'obtenir l'attribut attributs ! ! ! J'ai confirmé à plusieurs reprises que les attributs sont intacts dans le fichier json et cette erreur se produit toujours lorsque je clique sur le bouton pour la première fois et par la suite, cette erreur ne se produit pas

Plus tard, j'ai pensé que c'était le cas. parce que la vitesse de chargement dynamique des données json n'est pas aussi rapide que la vitesse d'exécution du code du programme ? !

C’est exactement ce à quoi je m’attendais ! L'arbre dans easyui est livré avec une méthode onLoadSuccess Lorsque les données sont chargées avec succès, certaines opérations seront effectuées
Donc

$(".next-menu:nth-child(1) a").click(function() {
var $IDstr = $(this).attr("id"),
$treeIDNum = parseInt($(this).attr("treeID")),
jsonURL = "json/" + $IDstr + ".json",
node;
addAttr2Tree(jsonURL);
$("#tt").tree({
onLoadSuccess: function(){
changeImgSrc($treeIDNum);
}
});
});
Copier après la connexion

Le code est modifié. à ça, c'est tout.

Ce qui précède est l'analyse du problème de l'arbre de chargement asynchrone jQuery Easyui introduit par l'éditeur. J'espère que cela vous sera utile. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra. vous à temps. Je voudrais également vous remercier tous pour votre soutien au site Web PHP chinois !

Pour plus d'articles sur l'analyse des problèmes de chargement asynchrone de l'arbre jQuery Easyui, veuillez faire attention au site Web PHP chinois !


Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal