1

jQuery-UI の「ドラッグ可能」および「ドロップ可能」機能を使用して、あるテーブルから別のテーブルにデータをドラッグしたいと考えています。

どのセルがドラッグされたか (具体的には X/Y インデックス) を追跡できるようにしたいと考えていThisます。ドロップ可能な関数が返すオブジェクトにCellIndexは、列 (​​X) 値を含むがリストされていますが、それがドロップされた(Y)を見つけるのはあまり運がありません。

ドロップしたばかりの行を確認するにはどうすればよいですか?

JSフィドルリンク

4

2 に答える 2

1

私は次のことをします:

  • 使用するdrop event
  • $(this)またはを使用してドロップされたオブジェクトを見つけるevent.target
  • .closest()テーブルの行を見つける( tr)
  • を使用して、テーブルの行と比較します.index()

    $('#mappingChar td').droppable({
        hoverClass: "ui-state-hover",
        drop: function (event, ui) {
            var dropped = $(this),
                droppedRow = dropped.closest('tr');
    
            console.log(droppedRow.index());
        }
    });
    

デモ: http://jsfiddle.net/dirtyd77/XcKdX/3/

ご不明な点がございましたら、お気軽にお問い合わせください。

于 2013-09-04T15:46:40.880 に答える
0

.index() または rowIndex を使用してそれを見つけることができます。コードで次のようにする必要があります。

$('#mappingChar td').droppable(
        {
            hoverClass: "ui-state-hover",
            drop: function( event, ui )
            {
                alert($(this).parent().index()+"\nor\n"+$(this)[0].parentNode.rowIndex);
                console.log('drop successful');
            }
        }); 
于 2013-09-04T15:45:57.987 に答える