2013-06-21 147 views
1

我在加載時向我的頁面添加了一些動態內容。我想要添加的行是可拖動的,並且希望能夠檢索被拖動的<tr>內的第一個<td>的值。我已經將行拖動了,但我似乎無法檢索第一個值,我想知道這是否是因爲它們是動態添加的。jQuery UI可拖動動態內容

的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

我認爲'​​'你使用'html()'而不是'val()'所以它應該是'$(this).find('td')。first()。html();' – stackErr

+0

確實你做。沒有任何東西像JavaScript讓我感到愚蠢! – Ristoph

回答

1

您只使用val()輸入要素,否則你應該使用html()

所以,你的代碼應該是:

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