7

私はいくつかのソート可能な接続リストを持っていますが、それは同時にドロップ可能な場所です。問題は、droppableのdropイベントでsortableのcancelメソッドを呼び出すと、sortableが壊れて、機能しなくなることです。例http://jsfiddle.net/zSnBA/10/2番目のリストのdiv番号102を移動してみてください。キャンセルイベントが呼び出されますが、ソート可能機能は機能しなくなりますか?何か助けはありますか?

4

1 に答える 1

6

ソート可能なリストもドラッグ可能にしないことをお勧めしますが、ソートreceive可能なイベントをリッスンしてイベントをキャンセルします。

$('div.products-list').sortable({
    connectWith: '.products-list',
    placeholder: 'ui-state-highlight',
    items: 'div.product',
    revert: 200,
    receive: function(event, ui) {
        var prod_id = ui.item.attr("prod_id");

        /* Equal to 1 is valid because an item was just added to the list: */
        if ($(this).find(".product[prod_id='" + prod_id + "']").length > 1) {
            ui.sender.sortable("cancel");
        }
    }
});

例: http://jsfiddle.net/z5X5y/

于 2011-12-28T18:46:42.573 に答える