3 回答

TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個(gè)贊
jQuery UI sortable功能包括執(zhí)行此操作的serialize方法。確實(shí)很簡(jiǎn)單。這是一個(gè)簡(jiǎn)單的示例,一旦元素的位置發(fā)生變化,該數(shù)據(jù)便立即將數(shù)據(jù)發(fā)送到指定的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'
});
}
});
這是通過(guò)使用elements創(chuàng)建元素?cái)?shù)組的id。因此,我通常會(huì)執(zhí)行以下操作:
<ul id="sortable">
<li id="item-1"></li>
<li id="item-2"></li>
...
</ul>
使用該serialize選項(xiàng)時(shí),它將創(chuàng)建一個(gè)POST查詢(xún)字符串,如下所示:item[]=1&item[]=2等等。因此,如果您在id屬性中使用(例如)數(shù)據(jù)庫(kù)ID,則可以簡(jiǎn)單地遍歷POSTed數(shù)組并相應(yīng)地更新元素的位置。
例如,在PHP中:
$i = 0;
foreach ($_POST['item'] as $value) {
// Execute statement:
// UPDATE [Table] SET [Position] = $i WHERE [EntityId] = $value
$i++;
}
添加回答
舉報(bào)