jQuery可排序,不在附加的li上发布

时间:2013-02-18 08:02:08

标签: jquery-ui jquery

我有一个表单附加到php ajax响应 ul

    $('#page-form form').submit(function() {

        var data = $(this).serialize();
        //alert(data);

        $.ajax({
            type: "POST",
            url: "newPage.php",
            data: data,
            cache: false,
            success: function(html)
            {
                $('.item1 ul').append(html).slideDown();
            }
        });
    });

使用.sortable命令 li 保存位置

$(function() {
    $(".item1 ul").sortable({ revert:true, update: function() {
        var order = $(this).sortable("serialize") + '&action=updateRecordsListings';
        $.post("pageOrder.php", order, function(theResponse){

        });
    }
    });
});

问题是附加的html没有发布到pageOrder.php

1 个答案:

答案 0 :(得分:2)

你应该试试这个。

$('#page-form form').submit(function()
{
    var data = $(this).serialize();
    $.ajax({
        type: "POST",
        url: "newPage.php",
        data: data,
        cache: false,
        success: function(html)
        {
            $('.item1 ul').append(html).slideDown();
            $(".item1 ul").sortable(
            {
                revert:true,
                update: function()
                {
                    var order = $(this).sortable("serialize") + '&action=updateRecordsListings';
                    $.post("pageOrder.php", order, function(theResponse){  });
                }
            });
        }
    });
});

这种方式是因为您要将新dom追加到.item ul,因此newly appended DOM没有为event分配dom

为jQuery开发安装FireQuery Firebug扩展,允许您查看附加到{{1}}的jQuery代码和事件。