2013-01-10 3 views
0

J'essaie de créer une fonction déroulante des résultats de la liste en utilisant la méthode de la diapositive jquery. Le problème que j'ai est que lorsque l'utilisateur clique sur la classe 'catégorie', il se développe et affiche les 'formulaires' pour toutes les catégories. Pas seulement celui sur lequel on a cliqué. Quelqu'un peut-il suggérer pourquoi?jquery slidetoggle query

Mon HTML:

<div id="categoryloop"> 
    {% for c in Category_Name %} 
    <li class="categories">{{ c.Name }} 
     <ol> 
      {% for form in c.form_set.all %} 
      <li class="forms"><a href="/forms/{{ form.id }}">{{ form.Title }}</a></li> 
      {% endfor %}</ol> 
    </li> 
    {% endfor %} 
    </div> 
</div> 

Mon Jquery

$(document).ready(function(){ 
$(".categories").click(function(){ 
    $(".forms").slideToggle("fast"); 
}); 

});

Merci à l'avance

Répondre

1

passe dans un context ..ou utilisent .find() il sait ouvrir seulement un spécifique

$(".categories").click(function(){ 
    $(".forms",this).slideToggle("fast"); 
}); 

ou

$(".categories").click(function(){ 
    $(this).find(".forms").slideToggle("fast"); 
});