如何从jquery ui .sortable()获取数据?

时间:2011-05-27 14:49:10

标签: php jquery

这是我的代码:

$(".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()发送的数据?

2 个答案:

答案 0 :(得分:2)

你应该有你的身份 jqueryui documentation。这是解释

  

如果serialize返回一个空字符串,   确保id属性包含   下划线。它们必须采用以下形式:   “set_number”例如,一个3元素   id属性为foo_1,foo_5的列表,   foo_2将序列化为   FOO [] = 1&安培;富[] = 5&安培;富[] = 2。您可以使用   下划线,等号或连字符   分开集合和数字。对于   示例foo = 1或foo-1或foo_1 all   序列化为foo [] = 1。

答案 1 :(得分:1)

您必须在李项目上拥有ID,例如......

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