2011-05-11 85 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);