2011-04-14 6 views
0

J'ai une liste de régions et de pays correspondants ... quand je clique sur une région, la liste devrait se développer tout en réduisant toutes les autres régions. Aussi, quand je clique sur la même région encore une fois n, il devrait basculer. Mais dans mon cas, tout fonctionne bien, sauf que la fonction de bascule ne fonctionne pas correctement au premier clic.La bascule jQuery ne fonctionne pas correctement

$(document).ready(function(){ 
$("tbody[id*='titl']").live('click',function(){  
    var nextId = ('#' + $(this).next("tbody[id*='tbod']").attr('id')); 
    $("tbody[id*='tbod']").each(function(){ 
    var hideId = ('#' + $(this).attr('id'));  
    if(nextId != hideId) 
    { 
     $(hideId).hide();  
    } 
    else 
    {   

     $(hideId).toggle(); 
    } 

}); 
}); 
+0

Pourriez-vous s'il vous plaît créer un exemple de http://jsfiddle.net/? –

+1

Montrez-nous votre code HTML. –

+0

Le HTML est très complexe ... il est rendu par le serveur et est très dynamique .. – Misam

Répondre

1

Bien que vous calculé nextID avec le sélecteur contexte tbody[id*='titl'] mais après lorsque vous appelez $("tbody[id*='tbod']").each(function() est à la recherche DOM entier pour un élément correspondant.

Vous devriez écrire: $(this).next("tbody[id*='tbod']").each(function(){ de sorte que vous êtes à la recherche d'éléments à proximité de l'élément tbody en direct

Questions connexes