2011-05-11 204 views
0

如何動態生成具有可變行數的HTML <table>jQuery中的動態表格生成

行數取決於JavaScript對象中存在的屬性數量。

function showTable(trnum) //number of table rows passed in 
{ 
    // how? 
    // $("#elem").foo // #elem - element container for table 
} 
+0

我定你的問題要問你。下次請多加註意。 – 2011-05-11 13:43:49

+0

謝謝!!我無法第一次提交它..只有第三次嘗試.. – DrStrangeLove 2011-05-11 13:46:44

回答

2
function showTable(trnum) { 
    var tableCode = "<table>"; 
    for (var i=0; i<trnum; i++) { 
     tableCode += "<tr>" + "stuff inside each tr ?" + "</tr>"; 
    } 
    tableCode += "</table>"; 
    $("#elem").append(tableCode); 
} 
+0

你錯過了在行內添加TD標籤,它的代碼似乎也在創建一個額外的結尾TR標籤。不是嗎? – MUS 2011-05-11 13:52:36

+0

額外結尾的TR標籤應該是表格標籤。 – Fermin 2011-05-11 13:55:31

+1

事實上,最後一個標籤是''!而且他沒有指定他想要如何插入'​​'標籤,這就是爲什麼我寫了「每個tr內部的東西?」的原因。 – Sylvain 2011-05-11 14:01:23

0

請點擊鏈接。 Generating HTML Tables with jQuery。對於演示去​​

+0

您在jsFiddle中的代碼中留下了行號,並且您忘了將框架設置爲'jQuery'。你也沒有調用js函數來創建表格。我更新了你的jsFiddle,你可以改變你的鏈接到[http://jsfiddle.net/dJUKd/3/](http://jsfiddle.net/dJUKd/3/) – Sylvain 2011-05-11 14:05:56

+0

@Sylvain。謝謝你這樣做.... :-))僅供參考,指定的東西已經存在,演示工作正常。 – MUS 2011-05-11 14:33:59

+0

[really](http://img821.imageshack.us/img821/4775/notworkingx.png)? – Sylvain 2011-05-11 15:20:00

0

你可以試試這個:

$.createTable = function(trnum) 
{ 
    var reps = new Array(trnum); 
    var table = $('<table></table>'); 
    $.each(reps,function(){ 
     var td = $('<tr><td> Stuff here </td></tr>'); 
     table.append(td)  
    }); 
    $('#elem').append(table); 
} 

調用函數:

$.createTable(6);