多个jQuery可排序列表使用AJAX更新MySQL数据库

时间:2012-04-18 17:51:30

标签: php jquery ajax jquery-ui-sortable

我有多个可排序列表,这些列表是从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之一对应的实际数字,它可以正常工作。

我到底在做什么?我无法确定它。

帮助和谢谢!!!

1 个答案:

答案 0 :(得分:0)

我改变了

serial = $('#sortme_piece_'+num).sortable('serialize');

serial = $(this).sortable('serialize');

并修复了它。