我有多个可排序列表,这些列表是从MySQL中的列表动态生成的。使用数据库中的节ID附加每个列表的id。排序后,数据被序列化并发送到sort_order_piece.php以运行MySQL查询以更新记录的顺序,这一切都正常。什么是行不通的是我编写以下jQuery的方式来解释每个列表的动态生成的ID:
$(".sortme_piece").each(
function(e) {
num = e+1;
$('#sortme_piece_'+num).sortable({
placeholder: "ui-state-highlight",
update : function () {
serial = $('#sortme_piece_'+num).sortable('serialize');
alert(serial);
$.ajax({
url: "sort_order_piece.php",
type: "post",
data: serial,
beforeSend: function(){$('#updated').html('updating');},
success: function(data){$('#updated').html(data);},
error: function(){alert("theres an error with AJAX");}
});
}
});
});
这条线似乎是麻烦:
serial = $('#sortme_piece_'+num).sortable('serialize');
当我在警告框中查看变量时,它是空白的。如果我删除附加的'num'并添加一个与列表ID之一对应的实际数字,它可以正常工作。
我到底在做什么?我无法确定它。
帮助和谢谢!!!
答案 0 :(得分:0)
我改变了
serial = $('#sortme_piece_'+num).sortable('serialize');
到
serial = $(this).sortable('serialize');
并修复了它。