2010-09-24 9 views
1

J'ai donc un arbre d'éléments créés en utilisant XUL. Lorsque je sélectionne un élément de cet arbre et que je clique sur un bouton Vue, je veux afficher des informations sur l'élément sélectionné. Je le fais comme ci-dessous mais le bouton ne fonctionne pas du tout.OnSelect gestionnaire avec XUL et Javascript

Rattacher un attribut id pour l'arbre:

<tree id="assetList" flex="1" multiple="false"> 

Puis je joindre une fonction à la touche:

<button id="view-button" align="right" class="dialog" label="View" oncommand="view()" /> 

Puis j'ai vue fonction écrite comme ci-dessous:

function view(){  
    var tree = document.getElementById("assetList"); 
    var items = tree.selectedItems; 
    if(items.length == 0) 
    alert("No item was selected"); 
    else if(items.length > 1) 
    alert("Please select one item at a time"); 
    else{ 
    txt = items.getAttribute('id'); //it's just for testing right now 
    alert(txt); 
    } 
} 

Même lorsque je ne sélectionne rien et clique sur Voir le message d'alerte n'est pas déclenché. Qu'ai-je fait de mal? et comment puis-je le réparer?

Merci

+0

donc j'ajoute seltype = "single" au afin que les utilisateurs puissent sélectionner seulement 1 ligne à la fois. J'utilise tree.currentIndex pour obtenir la position où l'utilisateur sélectionne. Cependant, je n'ai trouvé aucune fonction pour récupérer l'élément à cette position. Quelqu'un peut-il me donner un indice s'il vous plaît? – chepukha

Répondre

1

J'ai trouvé comment faire cela. Je peux utiliser getItemAtIndex (tree.currentIndex).