2010-04-22 2 views
5

Поиск по всему, и я не могу найти ответ. Я не могу получить сортировку для сортировки. Все, что я получаю нулевые данныеJQuery ui сортируемый сериализатор не работает

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

    }); 
}); 

Вот мой 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> 

Поскольку я использую JQuery 1.4.2, я нашел этот кусок информации здесь на переполнение стека:

jQuery.ajaxSettings.traditional = true; 

С этим последним фрагментом кода или без него я не могу его сериализовать. Какие-либо предложения?

+0

Это сообщение было отвечено в другом посте http://stackoverflow.com/questions/965083/jquery-sortable-list-wont-serialize-why – danbgray

ответ

0

У меня такая же проблема ... Видимо, вызов метода .sortable() изнутри функции event-обработчика не работает ?!

P.S .: Вместо «обновления» я думаю, вы должны использовать событие «остановить».

+0

Из документации API (HTTP: //api.jqueryui. ком/сортировкой /): 'остановка (событие, щ) Тип: sortstop Это событие срабатывает, когда сортировка имеет stopped.' ' обновления (событие, Ui) Тип: sortupdate Это событие срабатывает, когда пользователь остановился сортировка и позиция DOM изменились. « Итак, из-за того, что он, кажется, пытается сделать, взглянув на его код, кажется, что нужное ему событие - это« обновление ». – Pere

0

Это все ваш код. Возможно ли, что ваши идентификаторы не уникальны?

Смежные вопросы