0

jQuery UI Sortableを使用して、HTMLリスト内のいくつかのアイテムを再配置しようとしています。私はそれを機能させていますが、データの使用方法に固執しています。

私はCodeigniterを使用しており、シリアル経由update_orderでカテゴリコントローラーのメソッドに注文を渡します。

データベースに入力する方法はわかっていますが、シリアルを使用して実行する方法がわかりません。ある種の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 に答える