jsTree et données masquées
Bonjour,
Je réalise actuellement un composant représentant une arborescence avec jsTree.
J'ai besoin des données suivantes :
- le libellé du noeud ;
- son identifiant ;
- son libellé "complet" (de la forme "libellé noeud racine/libellé noeud 1/libellé noeud 2/...".
Si je n'ai aucun souci pour avoir les deux premiers, je n'arrive pas avoir le suivant (sans le recalculer).
J'utilise pour l'instant le format XML décrit dans la doc. Y a-t-il moyen en standard d'ajouter des données supplémentaires ?
(j'ai tenté le span caché dans le CDATA mais l'injection de code ne passe pas trop ;) )
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <root>
<!-- Racine -->
<item id="root1" state="closed">
<content>
<name><![CDATA[root1]]></name>
</content>
</item>
<!-- root1/AA -->
<item id="1000" parent_id="root1">
<content>
<name><![CDATA[AA]]></name>
</content>
</item>
<!-- root1/AB -->
<item id="1001" parent_id="root1">
<content>
<name><![CDATA[AB]]></name>
</content>
</item>
</root> |
Et le script d'initialisation du composant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| <script type="text/javascript">
// Déclencheur au clic sur un noeud.
$(function () {
$("#esstree").bind("select_node.jstree", function (e, data) {
var node = data.rslt.obj;
// Ouverture des parents.
node.parents(".jstree-closed").each(function () {
data.inst.open_node(this, false, true);
});
// Toggle du noeud courant.
data.inst.toggle_node(node);
$("#selectedess").html(node.attr("id"));
});
// Initialisation du plugin.
$("#esstree").jstree({
plugins : [ "xml_data", "ui", "themes" ],
xml_data : {
ajax : {
url : "./data.xml",
}
},
ui : {
select_multiple_modifier : false,
initially_select : [ "1001" ],
},
themes : {
icons: false,
dots : true,
}
});
});
</script> |
Merci !
Alban