0

我在表格单元格中设置了 div 数据值,我想要的是如何在 drop 时获取 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/generating-html-tables-with-jquery.aspx

我尝试这样,但在停止事件时无法获取表格单元格数据值。如何在拖放中获取设置的数据值。

$(".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.live 而不是 jQuery.click(如果您的jQuery 版本支持)来绑定 click 事件:

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

由于 .live() 已被弃用,您可能还想尝试 .on() 方法(如果使用 jQuery 1.7.x)。

于 2012-07-24T12:47:55.360 回答