NAGŁÓWEK
--- pozycja 1
--- pozycja 2
--- pozycja 3
NAGŁÓWEK 2
--- pozycja 4
--- pozycja 5
itd.
Mam checkbox który po odznaczeniu ukrywa nagłówki, a po zaznaczeniu pokazuje je. Nie mogę użyć do tego funkcji hide(), show() itp gdyż w dalszym etapie muszę pozycje posortować alfabetycznie po usunięciu nagłówków. W tym celu napisałem sobie funkcje(jeszcze nie sortuje).
copy_tree = $('.category-area ul').clone(); $('#categories_ch').live('click', function() { if ($(this).attr('checked')) { $(this).closest('.category-area').remove(); <!----- W TYM WERSIE JEST PROBLEM ---> $(copy_tree).prependTo('.category-area'); } else { copy_tree = $('.category-area ul').clone(); $('.category-area ul li ul').each(function() { $(this).clone().prependTo('.category-area ul:eq(0)'); $(this).closest('li').remove(); }); } });
kod nie usuwa dynamicznie dodanych elementów tzn kiedy zaznaczę checkbox do pokazywania nagłówków to skrypt powinien usunąć całe drzewo kategorii a następnie wczytać kopię drzewa zanim zostały nagłówki usunięte. Usuwa drzewo kategorii prócz drzewa wygenerowanego wcześniej po odznaczeniu checkboxa. Dlatego efekt zaznaczenia checkboxa w celu pokazania nagłówków jest taki: pełna wersja drzewa kategorii + wersja drzewa kategorii bez nagłówków.
EDIT:
============
problem rozwiązany. Wystarczyło podmienić wadliwy wers na:
$('.category-area ul li').each(function() { $(this).fadeOut('normal', function() { $(this).remove(); }); });