0

テーブルセルにdivデータ値を設定します。必要なのは、ドロップしながらdivデータ値を取得する方法です。

私のコードでは、次のようにテーブルにデータを設定します

  <script type="text/javascript">

 function createDynamicTable(tbody, rows, cols) {

      if (tbody == null || tbody.length < 1) return;

    for (var r = 1; r <= rows; r++) {

          var trow = $("<tr>");

         for (var c = 1; c <= cols; c++) {

              var cellText = "Cell " + r + "." + c

            $("<td>")

                     .addClass("tableCell")

                      .text(cellText)

                     .data("col", c)

                     .appendTo(trow);

        }

         trow.appendTo(tbody);

     }

  }   

私のコードでは、テーブルのセルをクリックすると、行と列のデータdiv値を取得します

   $(document).ready(function() {

    createDynamicTable($("#tbl"), 10, 5);

     $("#tbl td.tableCell")

             .click(function() {

                 alert("Clicked Col=" + $(this).data("col"));

             });

 });

それは完全に機能しています

完全なコードについては、サイトを表示してください:http: //blogs.microsoft.co.il/blogs/linqed/archive/2009/03/04/generated-html-tables-with-jquery.aspx

このように試しましたが、stopイベントでテーブルセルのデータ値を取得できません。ドラッグアンドドロップで設定されたデータ値を取得する方法。

$(".drag").draggable({

                    stop: function (ev, ui) {

                        var pos = $(ui.helper).offset();
                        var oldData = $("#tbl td.tableCell").data('col');
                        alert(oldData);
                        }
});

ドラッグアンドドロップでデータ値を取得するのを手伝ってください。

前もって感謝します。

4

1 に答える 1

0

ドラッグ アンド ドロップが DOM を再構築している可能性があります。jQuery.click の代わりに jQuery.live を使用してみてください ( jQuery バージョンでサポートされている場合)、クリック イベントをバインドします。

$("#tbl td.tableCell")
         .live('click', function() {
             alert("Clicked Col=" + $(this).data("col"));
          });

.live() は推奨されていないため、.on() メソッドを試してみることもできます (jQuery 1.7.x を使用している場合)。

于 2012-07-24T12:47:55.360 に答える