2009-12-10 9 views
0

grande communauté :)Comment: liste imbriquée extensible?

J'ai une liste de catégories qui ont une liste de catégories enfants imbriquées, qui est cachée. Mon problème est que les catégories parentes ont un lien vers la page, et je veux ajouter le signe "+" à côté d'elles donc si vous cliquez sur "+" la liste enfant sera étendue, "+" sera remplacé par "-" fermeture), et si vous cliquez sur le nom de la catégorie, vous serez redirigé vers cette page. donc j'ai besoin chaning + et - avec option CCliquez, si vous pouviez me comprendre, mon anglais :) succions

Voici le code que je suis en train de créer:

$(document).ready(function() { 
$("ul#sitemap li ul").hide(); 
$('ul#sitemap li:has(> ul)').prepend(' <a href="javascript:;" class="open">+</a>'); 
$('ul#sitemap li a.open').click(function() { 
    $(this).html('-').removeClass('open').addClass('clicked'); 
    $("ul li>ul:visible").hide("slow"); 
    $(this).parent('li').find('ul').slideDown(); 
}); 

$('sitemap li a.clicked').click(function() { 
    $(this).html('+').removeClass('clicked').addClass('open'); 
    $(this).parent('li').find('ul').slideUp(); 
}); 
}); 

Répondre

1

utilisation

live pour les balises d'ancrage nouvellement créés et cela devrait fonctionner

$('ul#sitemap li a.open').live ("click" , function() { 

et

$('sitemap li a.clicked').live ("click" , function() { 
+0

Oui cela m'a aidé ... merci :) Mais j'ai faute de frappe, et juste vu. $ ('plan du site li a.clicked') { cliquez sur (function() devrait être : $ ('ul # sitemap li a.clicked'). Click (function() { – Kenan