2011-02-03 12 views
8

Zasadniczo przy użyciu struktury listy, staram się, aby każdy mógł być sortowany na swoim własnym poziomie, ale nie na innych poziomach. Więc jeśli przeciągam w dół Number 1, nie będzie on mieszał się z żadnymi sublubami lub li, ale będzie tylko poniżej Number 2. To jest to, co do tej pory miałem, i chociaż zapobiega to temu, że li idzie dalej, to poziom, to nie przeszkadza Li w mieszaniu PONIŻEJ jego poziomu. Na przykład teraz mogę przenieść Number 1 między Number 2.1 i Number 2.2jQuery UI: zezwala tylko na sortowanie na własnym poziomie nadrzędnym, a nie powyżej lub poniżej

$(".sortable2, .sortable2 ul").sortable({ 
    opacity: 0.5, 
     stop:function(i){ 
      $.ajax({ 
       type: "GET", 
       url: "?", 
       data: $(this).sortable("serialize") 
      }); 
     } 
}); 



$(".sortable2").selectable(); 
$(".sortable2").disableSelection(); 


$('.sortable2').bind('mousedown', function(e) { 
    e.stopPropagation(); 
}); 

Oto struktura ul li:

<ul class="sortable2"> 
    <li>Number 1 
     <ul class="sortable2"> 
      <li>Number 1.1</li> 
      <li>Number 1.2</li> 
     </ul> 
    <li> 
    <li>Number 2 
     <ul class="sortable2"> 
      <li>Number 2.1</li> 
      <li>Number 2.2 
       <ul class="sortable2"> 
        <li>Number 2.2.1</li> 
        <li>Number 2.2.2</li> 
       </ul> 
      </li> 
     </ul> 
    <li> 
</ul> 

Odpowiedz

18

Twój HTML i przełączniki są zarówno naprawdę wkręca się. Oczyściłem to tutaj dla ciebie. Zauważ, że musisz zdefiniować różne nazwy klas dla różnych poziomów sortable lub przynajmniej upewnić się, że nie są one zwracane przez ten sam selektor. Sprawdź ten link, aby uzyskać stałą realizacji: http://jsfiddle.net/GMUbj/

Można też dostroić selektorów więc nie trzeba kontynuować definiowanie nazw klas i uniknąć tego całego bałaganu zupełnie, jak w: http://jsfiddle.net/HWmz3/

Jak zauważono w inną odpowiedź można również włączyć lub wyłączyć dla poszczególnych podlist za pomocą opcji pozycji, jeśli chcesz zawracać głowę, aby zastosować klasę css do wszystkich list, które chcesz posortować (pamiętaj, że zostawiłem klasę wyłączoną na większości przedmiotów aby zobaczyć, jak to działa): http://jsfiddle.net/DnaBs/

+0

Świetnie! – shadow0359

Powiązane problemy