0

我正在尝试使用jQuery UI Sortable重新排列 HTML 列表中的某些项目。我已经让它运行起来了,但我被困在如何使用数据上。

我正在使用 Codeigniter,并通过串行将订单传递给update_order我的 Category 控制器中的方法。

我知道我将如何将它输入数据库,但我不确定如何使用序列号以便我可以做到。我假设它在某种 POST 变量中,但我不知道它是什么。

JS:

<script type="text/javascript"> 
$(document).ready(function() {
    $("#order").sortable({
        update : function () {
            order = $('#order').sortable('serialize');
            $.ajax({
                url: "<?=base_url().'admin/category/update_order'?>",
                type: "POST",
                data: order,
                success: function(){
                    alert("success");
                }
            });
        }
    });
}
);
</script>

的HTML:

<ul id="order">
    <li id="item_1">Item 1</li>
    <li id="item_2">Item 2</li>
    <li id="item_3">Item 3</li>
    <li id="item_4">Item 4</li>
    <li id="item_5">Item 5</li>
    <li id="item_6">Item 6</li>
</ul>
4

2 回答 2

1

最好的解决方案是保存当前元素的索引

update: function(event, ui) { 
     alert(ui.item.index()); 
}

我知道你可以自己弄清楚其余的;)

于 2012-06-29T01:23:19.323 回答
1

如果做序列化,做$this->input->post('item')

它将是 li 标签中 _1、_2 等前面的任何内容。

于 2012-07-02T22:20:37.610 回答