使用带有jquery可排序序列化的THIS

时间:2013-04-03 15:11:46

标签: javascript jquery serialization jquery-ui-sortable

我有这段代码

$('.contentlist_tosort').sortable({
    update: function(event, ui) {
        $.post("ajax.php", { pages: $('.contentlist_tosort').sortable('serialize') } );
    }
});

但是我希望它是通用的,因为我使用class来调用sortable,并且不希望将id放在列表上,因为我有未知数量的id。

我想要这样的事情:

$('.contentlist_tosort').sortable({
    update: function(event, ui) {
        $.post("ajax.php", { pages: $(this).sortable('serialize') } );
    }
});

但这让我感到“未定义”,所以这显然不是那种方式......

有可能吗?

2 个答案:

答案 0 :(得分:2)

使用ui.item代替this

See the API Docs

例如:

$('.contentlist_tosort').sortable({
    update: function(event, ui) {
        var sortable = $(ui.item).parent('ul');
        $.post("ajax.php", { pages: sortable.sortable('serialize') } );
    }
});

答案 1 :(得分:1)

事件目标是UL:

$('.contentlist_tosort').sortable({
    update: function(event, ui) {
        $.post("ajax.php", { pages: $(event.target).sortable('serialize') } );
    }
});