0

id「ドラッグ可能な」テーブル行から取得する必要があります。「ID_1」以外はすべて正常に動作します。この値を取得できないようです。私は何を間違っていますか?

HTML:

<table>
    <tr class="droppable" id="value_2">
        <td>Stuff</td>
    </tr>
    ....
</table>

<table>
    <tr class="draggable" id="value_1">
        <td>Stuff</td>
    </tr>
    ....
</table>

Jクエリ:

$(document).ready(function() {
var ID_1
$(".draggable").draggable({cursor: 'move', 
    helper: function(event) {
        return $('<div class="drag_row"><table></table></div>')
        .find('table').append($(event.target).closest('tr').clone()).end();
    },
    appendTo: 'body'
});
$(".droppable").droppable({
    over: function(event, ui)
        {
            ID_1 = $(this).find("tr").attr('id');
        },
    drop: function(event, ui) { 
        var ID_2 = $(this).attr('id');

        $.ajax({
        type: "POST",
        url: 'www.mydomain.com/'+ID_1+'/'+ID_2,
        dataType: 'html',
        success: function(){
        }
    });
    return false;
    }
});
});
4

2 に答える 2

2

ui.draggableドラッグされた要素を取得するために使用するため、コードは次のようになります。

$(".droppable").droppable({
     over: function(event, ui) {
        ID_1 = ui.draggable.attr('id');
     },
    drop: function(event, ui) { 
       var ID_2 = ui.draggable.attr('id');
       // existing stuff
    }
});
于 2012-11-18T05:32:36.813 に答える
0

代わりにevent.target.idを使用できます

これが(古いプロジェクトの)フィドルです。console.logを表示して、超過したコンテナに関するログを確認してください:http: //jsfiddle.net/Bouillou/QvRjL/97/

$(".droppable").droppable({
     over: function(event, ui) {
        ID_1 = event.target.id;
     },
    drop: function(event, ui) { 
       var ID_2 = event.target.id;
       // existing stuff
    }
});
于 2012-11-19T07:38:44.543 に答える