1

我有一个从 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

4

1 回答 1

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分配给他们。

安装FireQuery一个用于 jQuery 开发的 Firebug 扩展,它允许您查看附加到dom.

于 2013-02-18T08:05:57.807 回答