3 回答
TA贡献1712条经验 获得超3个赞
jQuery UI sortable功能包括执行此操作的serialize方法。确实很简单。这是一个简单的示例,一旦元素的位置发生变化,该数据便立即将数据发送到指定的URL。
$('#element').sortable({
axis: 'y',
update: function (event, ui) {
var data = $(this).sortable('serialize');
// POST to server using $.post or $.ajax
$.ajax({
data: data,
type: 'POST',
url: '/your/url/here'
});
}
});
这是通过使用elements创建元素数组的id。因此,我通常会执行以下操作:
<ul id="sortable">
<li id="item-1"></li>
<li id="item-2"></li>
...
</ul>
使用该serialize选项时,它将创建一个POST查询字符串,如下所示:item[]=1&item[]=2等等。因此,如果您在id属性中使用(例如)数据库ID,则可以简单地遍历POSTed数组并相应地更新元素的位置。
例如,在PHP中:
$i = 0;
foreach ($_POST['item'] as $value) {
// Execute statement:
// UPDATE [Table] SET [Position] = $i WHERE [EntityId] = $value
$i++;
}
添加回答
举报