2012-09-09 109 views
1
<table id="myTable0" name="myTable0"> 
<tbody> 
<tr> 
</tr> 
</tbody> 
</table> 

<table id="myTable1" name="myTable1"> 
<tbody> 
<tr> 
</tr> 
</tbody> 
</table> 

我需要一些JQuery,它會嘗試將新的html附加到表的末尾並在回車鍵上執行,它也會選擇正確的表來將它附加到有很多表格。JQuery追加數據在表末尾

這裏是我的代碼,不工作,但試圖做到這一點:

for (i=0; i<2; i++) 
    { 
$("#newComment" + i).keyup(function(event){ 
    if(event.keyCode == 13){ 
     var $test= $('<tr><td>content here</td></tr>'); 
     $('#myTable '+ i + ' > tbody:last').append($test); 
    } 
} 

被扔我的問題是Jquery的選擇上線路如下:

$('#myTable '+ i + ' > tbody:last').append($newdiv1); 
+0

$ newdiv1的內容是什麼?除了tr之外,有沒有其他的機會? – TigOldBitties

+1

它看起來像$ newdiv1是從您上面共享的代碼中未定義的。也許你想寫$測試? – Martin

+0

@Martin對那些傢伙很抱歉。 – Tyson

回答

5

試試這個:

$('#myTable' + i + ' > tbody:last').append($newdiv1); 

空間$('#myTable '的問題..

你有#myTable和0之間的空間..

當您遇到#myTable 0

+0

並且$ newdiv1不存在。 – TigOldBitties

+0

是啊,它會是$ test .. –

1

您需要#myTable0是啊,這是非常簡單的 只是做這樣

$('#myTable'+ i).find('tr:last').append($test); 

和那做。

+0

這有一個討厭的效果,它在最後一行的最後一個關閉TR標記之前插入我的行,而不是在關閉TR標記之後。 Rajat的解決方案正常工作。 – HerrimanCoder

1

是否有拼寫錯誤?我認爲你的意思是$ test,如果$ newdiv1在有問題的行中。

我可以看到你只有一個<tbody>標籤,所以':last'選擇器不是必需的。我認爲

$('#myTable' + i + ' tbody').append($test); 

會沒事的。

編輯:是的,因爲Rajat Singhal表示在#myTable後刪除選擇器中的sapce。