0

複数の要素をドラッグ アンド ドロップできる JQuery の nestedSorting プラグインを使用しています。ドラッグされた要素の ID を取得するにはどうすればよいですか?

<script>
 $(document).ready(function(){

$('.sortable').nestedSortable({
    handle: 'div',
    items: 'li',
    toleranceElement: '> div'
});

});
</script>

編集

このようにjquery関数を編集しました

  $(document).ready(function(){
    var movedItemId = '';
    $('.sortable').nestedSortable({
        handle: 'div',
        items: 'li',
        toleranceElement: 'div',
    }).on("sort", function(a, item){
        movedItemId = '';
        $('div', item.item).each(function(){
            movedItemId += ' ' + $(this).attr('id') + ',';
        });
        var id = movedItemId.substr(0, movedItemId.length - 1);
        var data = {pid:id};
        $.ajax({
            type: "POST",
            data: data,
            url:"{{ path('v2_pm_patents_trashpatents') }}",
            cache: false,
        });
    });
});
</script>

私が直面している問題

  1. Ajaxで実行したいメソッドを呼び出しますが、何度も呼び出すので、メソッドを1回だけ実行したいです。

  2. サブアイテムを含むアイテムをドラッグすると、サブアイテムのIDではなく、親アイテムのIDのみが必要です。

これらの問題を解決するにはどうすればよいですか?

ありがとう

4

1 に答える 1

0

nestedSortableプラグインにはいくつかの制限があります。

その主な方法は.serialize.toArrayまたは.toHierarchy全体として値を取得することです。

プラグインは jQuery Sortable UI を使用します。そのイベント コールバックを確認しました。を試してみましたon("change", [...])が、うまくいかないようです。はon("sort", [...])機能しますが、マウスが移動するたびに呼び出されます。[イベント] タブで別のイベントを見てみましょう: http://jqueryui.com/demos/sortable/

sortコールバックにバインドされた作業バージョンは次のとおりです: http://jsfiddle.net/QL8Yj/4/

于 2012-06-27T15:11:59.723 に答える