jQuery UI可拖动动态内容

时间:2013-06-21 15:05:54

标签: jquery jquery-ui

我在加载时会在页面中添加一些动态内容。我希望我添加的行是可拖动的,并希望能够检索被拖动的<td>内的第一个<tr>的值。我已经使行可拖动,但我似乎无法检索第一个值,我想知道这是否是因为它们是动态添加的。

jQuery -

$(document).on('click', '.draggableJob', function() {
//draggable jobs
    $(".draggableJob").draggable({
        cursor: "move",
        cursorAt: {top: 25, left: 75},
        helper: function( event ) {
            var name = $(this).find('td').first().val();
            return $( "<div class='draggingJobHelper'>" + name + "</div>" );
          }
    });

HTML -

socket.on('loadtable', function (table) {
            $("#tableBody").append('<tr class ="draggableJob"><td>' + table["name"] +
                '</td><td>' + table["Location"] + '</td><td>' + table["Path"] + '</td><td>' + table["Foobar"] +
                '</td><td><a href="#runModal" role="button" class="btn btn-success" data-toggle="modal"><i class="icon-edit icon-white"></i></a>' +
                '</td><td><a href="#editModal" role="button" class="btn btn-warning edit" data-toggle="modal"><i class="icon-edit icon-white"></i></a>'
                 + '</td><td><input type = "checkbox"></td></tr>'
            );
        }); 

1 个答案:

答案 0 :(得分:1)

您只能将val()用于输入元素,否则您应该使用html()

所以你的代码应该是:

var name = $(this).find('td').first().html();