我在加载时会在页面中添加一些动态内容。我希望我添加的行是可拖动的,并希望能够检索被拖动的<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>'
);
});
答案 0 :(得分:1)
您只能将val()
用于输入元素,否则您应该使用html()
所以你的代码应该是:
var name = $(this).find('td').first().html();