0

多くの行があり、それぞれにドラッグハンドラーがある大きなテーブルがあります。

HTMLを変更してに変更できるようにするには、どのイベントを使用<tr><div>ますか?

4

1 に答える 1

1

カスタムヘルパーが必要です。このSOの質問を参照してください:jQueryUIDraggableのカスタムヘルパー

div基本的に、コンテンツをの代わりにラップする必要がありtrます。この結果、あなたは今、飛ぶことのないtd子としてのを持っていることになります!divしたがって、次の2つのいずれかを実行できます。

  1. 行または特定のフィールドからコンテンツだけを取り除くことができます(私が投稿したSOの質問はまさにそれを行っています-ドラッグのために特定の要素のみをプルします)
  2. tr テーブル要素にtrをラップする代わりに、ドラッグイベントを有効なスタンドアロンDOMフラグメント、つまりドラッグされているテーブル全体にすることができます。

編集:あなたのコメントに基づいて、セル1をに変換しh1、セル2をに変換する何かを行うには、次のpようにします。

$('selector').draggable({
  helper: function()
  {
    var $ret = $("<div></div>");
    $ret.append( '<h1>' + $(this).find('td:nth-child(1)').text() + '</h1>');
    $ret.append( '<p>' + $(this).find('td:nth-child(2)').text() + '</p>');
    // ...

    return $ret;
  }

});
于 2013-03-15T14:11:21.947 に答える