2014-09-27 13 views
-3

我想動態更新我的表格行,我應該使用jquery抓取表格單元格的值。問題是抓取的值爲空而不是「標題」。你能否檢查下面的代碼,並幫我找到錯誤。我研究並發現我應該使用text()而不是html(),但仍然無法獲得結果。jquery抓取值爲null,而不是從動態創建的表格的單元格中獲得正確值

$.each(data.results, function(i, res) {     
       var row = $('<tr>').append(
         $('<td>').html(res.id), 
         $('<td class="title" contenteditable="true">').html(res.title), 
         $('<td>').html('<a href="#" class="update" name="'+res.id+'">Update</a>')                
        ); 
       item.append(row); 
      });   
      $("#show").html(item);   
      $("body").on("click", ".update", function() {    
       var self = this; 
       var id = $(self).attr("name"); 
       var title = $(self).closest(".title").text(); //cannot grab the value, 
       ... 

回答

1

我找到了答案。它應該是

var title = $(self).closest('tr').children('td.title').text(); 
0

closest查找匹配的父元素,你應該使用siblings,而不是...

UPDATE

其中之一應該工作基礎U上提供的代碼,如果他們不」 T優需要提供生成的HTML或至少是完整的代碼,你使用...

$(this).closest('td').siblings('.title').text(); 
$(this).closest('tr').find('.title').text(); 
$(this).parent().prev().text(); 
... and some other methods 

之所以$(this).siblings('.title').text()做esn't工作是因爲this<a>不是<td>女巫沒有兄弟姐妹

+0

感謝您的回答。我剛剛以你描述的方式嘗試過,但不幸的是它仍然不起作用。我也試過** var title = $(self).parent()。find(「。title」)。text(); ** – EducateYourself 2014-09-27 12:13:59

+0

@EducateYourself然後你的html輸出有問題 – Exlord 2014-09-27 12:27:39

+0

但是單元格值可以是正確顯示,問題是我無法獲取該值 – EducateYourself 2014-09-27 12:43:03

相關問題