Как получить данные из jquery ui .sortable()?

Это мой код:

$(".img-line").sortable({
   update:function(){
      var order = $('.img-line').sortable('serialize');
      $.ajax({
         type: 'POST',
         data: order,
         url: '/ajax/imageSort.php'
      });
      return false;
   }
});

И в моем imageSort.php, когда я пытаюсь получить данные, ища их в $_GET или $_POST, они все пусты. Как получить данные, которые отправляет sortable()?


person Richard Rodriguez    schedule 27.05.2011    source источник
comment
stackoverflow.com/questions/654535/   -  person James Montagne    schedule 27.05.2011


Ответы (2)


У вас должен быть идентификатор.
документация по jqueryui. это объяснить

Если сериализация возвращает пустую строку, убедитесь, что атрибуты id содержат символ подчеркивания. Они должны быть в форме: "set_number" Например, список из 3 элементов с атрибутами id foo_1, foo_5, foo_2 будет сериализован в foo[]=1&foo[]=5&foo[]=2. Вы можете использовать подчеркивание, знак равенства или дефис, чтобы отделить набор от числа. Например, foo=1 или foo-1 или foo_1 все сериализуются в foo[]=1.

person Benoît    schedule 27.05.2011

У вас должны быть идентификаторы на ваших предметах li, например...

<ul>
    <li id="item_1"> item 1 </li>
    <li id="item_2"> item 2 </li>
    <li id="item_3"> item 3 </li>
</ul>

затем, когда вы $('.img-line').sortable('serialize');, он опубликует и массив item[]

так, например, с PHP вы можете сделать:

$items = $_POST["item"];
foreach($items as $item => $value){
    // do somthing
}
person Mike Wood    schedule 29.04.2016