2010-04-22 19 views
5

Ho cercato dappertutto e non riesco a trovare la risposta. Non riesco a rendere il mio ordinabile da serializzare. Tutto quello che sto ricevendo è di dati nulliJquery ui ordinabile serialize non funziona

$(document).ready(function() { 
    $("ul#sortable").sortable({ 
     update : function() { 
      serial = $("ul#sortable").sortable("serialize"); 
      $.ajax({ 
       url: "sort_images_ajax.php", 
       type: "post", 
       data: serial, 
       error: function(){ 
        alert("theres an error with AJAX"); 
       }, 
       success: function(feedback){ $("#data").html(feedback); } 
      }); 
     } 

    }); 
}); 

Ecco il mio html:

<ul id="sortable"> 
<li id="sort_1" class="ui-state-default">1</li> 
<li id="sort_2" class="ui-state-default">2</li> 
<li id="sort_3" class="ui-state-default">3</li> 
</ul> 

Dal momento che sto usando jQuery 1.4.2, ho trovato questo pezzo di informazioni qui a Stack Overflow:

jQuery.ajaxSettings.traditional = true; 

Con o senza l'ultimo pezzo di codice, non riesco a ottenere la serializzazione. Eventuali suggerimenti?

+0

Questo post è stato risposto in un altro post http://stackoverflow.com/questions/965083/jquery-sortable-list-wont-serialize-why – danbgray

risposta

0

Ho lo stesso problema ... Apparentemente, chiamare il metodo .sortable() dalla sua funzione di gestore di eventi non funziona ?!

P.S .: Invece di "aggiornamento", penso che dovresti usare l'evento "stop".

+0

Dalla documentazione API (http: //api.jqueryui. com/ordinabile /): 'arresto (evento, ui) Tipo: sortstop Questo evento viene attivato quando l'ordinamento è stopped.' ' aggiornamento (evento, ui) Tipo: sortupdate Questo evento viene attivato quando l'utente si fermò ordinamento e la posizione del DOM è cambiata. Quindi da quello che sembra stia cercando di ottenere dando un'occhiata al suo codice, sembra chiaro che l'evento giusto di cui ha bisogno è quello di "aggiornamento". – Pere

0

Questo è tutto il codice. È possibile che i tuoi ID non siano unici?

Problemi correlati