2009-06-08 13 views
35

Wdrażam sortowalną listę obrazów z jquery w aplikacji Zend Framework. Po prostu nie mogę uzyskać metody .sportable ("serialize"), aby zwrócić więcej niż pusty ciąg znaków.Lista sortowalna Jquery nie będzie serializować, dlaczego?

Kiedy próbuję z kilkoma prostymi przykładami poza moją aplikacją, to działa.

Czy ma znaczenie, że poniższy fragment jest zawijany w różne inne i inne znaczniki. Myślę, że nie powinno. Lista nieuporządkowana powinna być znaleziona po prostu przez id, prawda?

HTML:

<ul id="mylist"> 
    <li id="1"> 
     <div> 
      <img src="image_1.jpg" /> 
      <p class="value_item">some text</p> 
     </div> 
    </li> 
    <li id="2"> 
     <div> 
      <img src="image_2.jpg" /> 
      <p class="value_item">some text</p> 
     </div> 
    </li> 
</ul> 

JavaScript:

$(document).ready(function() {     
    $('#mylist').sortable({ 
     update: function() { 
      var order = $('#mylist').sortable('serialize'); 
      alert(order); 
     }       
    }); 
}); 

Odpowiedz

94

http://api.jqueryui.com/sortable/#method-serialize

Jeśli serialize zwraca pusty ciąg, upewnić atrybuty id zawierać podkreślenia. Muszą mieć one postać: "set_number" Na przykład lista 3 elementów z atrybutami id foo_1, foo_5, foo_2 przekształci się w serię na foo [] = 1 & foo [] = 5 & foo [] = 2. Możesz użyć znaku podkreślenia, znaku równości lub łącznika, aby oddzielić zestaw i numer. Na przykład foo = 1 lub foo-1 lub foo_1 wszystkie serializują do foo [] = 1.

+0

Tak, dziękuję! – markus

+0

tak - rozwiązał mój problem! – PhoebeB

+0

tak, to też rozwiązało mój problem. Oznacza to, że wszystkie te przykłady rozwiązań tabel jquery do sortowania tutaj w stackoverflow są błędne. – CDR

8

Jquery napotyka problemy podczas używania niezgodnych identyfikatorów.

Identyfikatory nie mogą zaczynać się od numeru. Mogą mieć w nich numery, ale nie jako pierwszą.

1

(aktualizacja linku) Cześć, natknąłem się na podobny problem kilka dni temu, choć w moim przypadku ważne było utrzymanie porządku elementów w nienaruszonym stanie. I kodowane brakujące wtyczki, która pozwoli Ci serializacji ul i ol list arbitralnej głębi i złożoności:

serializeTree

Powiązane problemy