2009-09-01 6 views
1

J'expérimente avec le plugin TreeView situé ici: http://docs.jquery.com/Plugins/Treeviewproblèmes avec la bascule de plugin jQuery TreeView quand ensemble unique true

L'une des options dont il dispose est « unique » - d'avoir un seul élément élargi à une fois.

Cela fonctionne très bien à des fins d'affichage, mais j'essaye alors de m'accrocher à la propriété/événement "toggle" de TreeView pour savoir lequel a été exactement développé. Lorsque "unique" est défini sur "true", la fonction transmise à "toggle" semble être activée pour chacun des éléments de la liste principale, ce qui m'empêche de capturer celui qui a réellement initialisé l'extension. Je vois pourquoi cela est fait - pour s'assurer que d'autres éléments sont basculés de sorte qu'un seul est étendu.

Toutes les idées sur comment obtenir uniquement l'ID de l'élément de liste "unique" qui a été basculé/développé.

Code

exemple ci-dessous

$(document).ready(function() { 
$("#browser").treeview({ 
    collapsed: true, 
    unique: true, 
    toggle: function() 
    { 
      $('#console').append(this.id + ' was toggled'); 
    } 
}); 
}); 

<ul> 
<li id="1">Ottawa 
    <ul> 
     <li>Item 1</li> 
     <li>Item 9</li> 
    </ul> 
</li> 
<li id="2">Montreal 
    <ul> 
     <li>Item 2</li> 
     <li>Item 8</li> 
    </ul> 
</li> 
<li id="3">Quebeque 
    <ul> 
     <li>Item 3</li> 
    </ul> 
</li> 
<li id="4">Calgary 
    <ul> 
     <li>Item 7</li> 
    </ul> 
</li> 
<li id="6">Toronto 
    <ul> 
     <li>Item 10</li> 
    </ul> 
</li> 
</ul> 
<div id="console"></div> 

Répondre

1

Ce plug-in pourrait utiliser quelques autres événements, mais vous pouvez facilement dire que l'on a cliqué en vérifiant si elle a des enfants visibles:

if($(this).find("ul:visible").length) 
{ 
    $('#console').append(this.id + ' was toggled'); 
} 

Selon votre Structure HTML, vous pouvez modifier find à la plus rapide children. Cela continue l'événement toggle pour tous les nœuds, mais vérifie le bon nœud.
Voir dans l'action ici: http://jsbin.com/esoxu

+0

Merci Kobi, exactement ce que je cherchais – andryuha