0

jQuery UIs Sortable を使用して、ユーザーが 4 つの列から項目を移動したり、各列内の項目の順序を変更したりできるようにしています。後者は問題なく動作しています。新しい注文をデータベースに更新します。

しかし、列 A から列 B への移動を格納する方法がわかりません。順不同の各リストには一意の ID があるため、その情報を送信したいと思います。私はこれを行う方法をしっかりと理解していません。

$("#list1, #list2, #list3, #list4").sortable({ 
    connectWith: ".sort",
    placeholder: "shadow", 
    dropOnEmpty: true,
    opacity: 0.8, 
    cursor: 'move', 
    update: function() {
        var order = $(this).sortable("serialize") + '&update=update';
        $.post("/update.php", order, function(theResponse) {
            $("#alert").html(theResponse);
            $("#alert").slideDown('slow');
            slideout();
        });
    }
});
4

1 に答える 1

1

私は自分の質問に対する答えを見つけました。答えは、データを PHP ファイルに渡す方法がわずかに異なり、(1 つの情報セットを単にシリアル化するのではなく) より堅牢な量の変数を使用できるようにすることです。

var item   = ui.item;
var new_ul = item.parent();
var order  = [];
container.children('li').each(function(i){
    reorder[i] = $(this).attr('id');
});

$.ajax({
    method:'post',
    url: 'update.php',
    data:{
        'new_ul':container.attr('id'),
        'item':item.attr('id'),
        'order':order
    }
});

このソリューションの完全なクレジットは、CodeIgniter のユーザー 'Zehee' (37signals からソリューションを入手したと私は信じています) http://codeigniter.com/forums/viewthread/175134/#831756にあります。

于 2012-07-25T15:49:05.927 に答える