0

idjQueryのドラッグ可能およびドロップ可能を使用して、ドロップされたコンテナを取得するためのヘルプを探しています。リストアイテムを含む 2 つの UL があり、リスト 1 からリスト 2 にドラッグしますid。リスト 2 でドロップされたアイテムの上にあるアイテムの を取得する必要があります。

$(this).attr("id")基本的なjQueryの例に従って、両方のリストがソート可能としてフラグ付けされているため、取得されていません。これを行う理由は、各リスト項目に順序があるためです。項目をドロップすると、データベースから再ロードされたときにその順序で表示されるように、その上の項目と下の項目の間に順序を設定したいと考えています。アイテムがドロップされました。したがって、その上のアイテムを取得すると、追加する順序を取得できます。

あるリストから別のリストにドラッグする標準の jQuery サンプル コードと同じであるため、コードは含めていません。

どんな助けでもいただければ幸いです

これがドロップポイントのコードです

 $("#sortable1").sortable({
        dropOnEmpty: true,
        connectWith: ".connectedSortable",
        receive: function (event, ui) {
              var itemId = ui.item.attr('id');
              var droppableId = $(this).attr("id");
              alert(droppableId);

              //--Get DOM value
              $.getJSON('/Dom/_ElementDetail/' + itemId, function (data) {
                  //--Save to new table
              var name = data[0].Name;
              var code = data[0].DomDetail;
              var matterId = localStorage['MatterId'];
              var stepId = localStorage['StepId'];
              $.ajax({
                  type: 'post',
                  url: '/DOM/AddElementMaster',
                  data: { name: name, code: code, matterId: matterId, stepId: stepId }
              });

        });
      }

    }).disableSelection();
4

1 に答える 1

0

ここをチェック

私が理解しているように、あなたはイベントdropなどを設定overしました:

$( "#droppable" ).droppable({
    drop: function() {
        console.log($(this));
    }
});

ただし、ドキュメントで説明されているように、使用する必要があります

$( "#droppable" ).droppable({
    drop: function( event, ui ) {
          console.log(ui.draggable.attr('id'));
    }
});

overイベント も同じ


sortable を使用すると、ドラッグ操作に関する情報は次の方法で取得できます。

$(".sortable").sortable({
    receive: function(event, ui) {
        var sender_id = ui.sender.attr('id'),
            receiver_id = $(this).attr('id'),
            item_id = ui.item.attr('id'),
            above_id = ui.item.prev().attr('id'),
            below_id = ui.item.next().attr('id');

        console.log("The item '" + item_id 
                    + "' was dragged from " + sender_id 
                    + "to '" + receiver_id 
                    + "'" + (above_id ? " below of '" + above_id + "', " : "") 
                    + (below_id ? " above of '" + below_id + "'" : "")
                   );
    },
    connectWith: ".sortable"
});​

サンプル

于 2012-11-23T04:08:23.573 に答える