2009-06-08 7 views
35

J'implémente une liste d'images triable avec jquery dans une application Zend Framework. Je n'arrive pas à obtenir la méthode .sortable ('sérialiser') pour retourner plus d'une chaîne vide. Lorsque j'essaie avec quelques exemples simples en dehors de mon application, cela fonctionne.La liste triable de Jquery ne sérialisera pas, pourquoi?

Est-il important que l'extrait ci-dessous soit emballé dans diverses autres étiquettes. Je pense que ça ne devrait pas. La liste non ordonnée devrait être trouvée juste par l'ID, non?

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); 
     }       
    }); 
}); 

Répondre

94

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

Si serialize retourne une chaîne vide, assurez-vous que les attributs id comprennent un trait de soulignement. Ils doivent être de la forme: "set_number" Par exemple, une liste de 3 éléments avec les attributs id foo_1, foo_5, foo_2 sera sérialisée en foo [] = 1 & foo [] = 5 & foo [] = 2. Vous pouvez utiliser un trait de soulignement, un signe égal ou un trait d'union pour séparer l'ensemble et le nombre. Par exemple, foo = 1 ou foo-1 ou foo_1 tous les sérialiser à foo [] = 1.

+0

Eh oui, je vous remercie! – markus

+0

oui - résolu mon problème aussi! – PhoebeB

+0

oui, cela a aussi résolu mon problème. Cela signifie que tous les exemples de solutions de tables triables jquery ici dans stackoverflow sont faux. – CDR

8

Jquery rencontre des problèmes lorsque vous utilisez des identifiants non conformes.

Les ID ne peuvent pas commencer par un nombre. Ils peuvent avoir des nombres en eux, mais pas en tant que premier personnage.

1

(mise à jour de lien) salut, j'ai trébuché sur un problème similaire il y a quelques jours, bien que dans mon cas, il était important de garder l'ordre des éléments intacts. Je codé un petit plugin qui vous permettra de sérialiser listes ul et ol de profondeur arbitraire et de la complexité:

serializeTree

Questions connexes