2012-03-17 101 views
3

生成HTML表格请帮忙下面提到scenario->使用循环

我有一个表这样的方式,从1到30想显示值是1,2,3号应该来一个标签和像其他tr标签中的明智4,5,6等直到30值。我想用table来显示表格中的值。其中每个值如“1”应该显示在一个中,不应该在不同的<TD>等中显示“2”。

我的意思是说,值“1”应在<Table>标签的单<TD>显示,值“2”应该被显示在另一<td>标签等,一个<Tr>应当使用三个后续<TD> S还之后。输出应为folllows - >

1 2 3 
4 5 6 
7 8 9 

等等!

早期的反应将不胜感激。谢谢。

我已经试过代码如下给出

<script type="text/javascript"> 

    document.write("  <table width='673' align='center' cellpadding='2' cellspacing='1'>"); 
    document.write("   <tr>"); 
    document.write(" <td valign = 'top'>"); 
    document.write("    </td>"); 

    document.write("   </tr>"); 

    var cnt = 0; 
    for (var idx = 1; idx <= 30; idx++) 
    { 
     cnt = cnt + 1; 
     document.write("   <tr>"); 
      document.write(" <td valign = 'top'>"); 
      document.write("  <table width='100px' align='center' cellpadding='2' cellspacing='1'>"); 
      document.write("   <tr>"); 
      document.write("    <td align='center'>"); 
      document.write("     " + idx + ""); 
      document.write("    </td>"); 
      document.write("   </tr>"); 
      document.write("   <tr>"); 
      document.write("    <td class='label'>"); 
      document.write("     <span> name part : " + idx + "</span>"); 
      document.write("    </td>"); 
      document.write("   </tr>"); 
      document.write("   </table>"); 
      document.write("    </td>"); 
      if (cnt = 3) 
      { 
       document.write("   </tr>"); 
      } 
      if (cnt = 3) { 
       cnt = 0; 
      } 

     } 

    document.write("   </table>"); 
</script> 
+0

你刚才不是张贴同样的问题在http://stackoverflow.com/questions/ 9751799/generate-dynamic-html-using-for-loop? – j08691 2012-03-17 17:10:32

+0

雅@ j08691但这次,我已经澄清了我的问题以及问题的详细解释!由于我的早期查询没有得到答复而关闭,因此我发布了新的Q. – hero123 2012-03-17 17:11:34

+0

我很困惑。至少格式化你的问题的编码部分。 – Kaf 2012-03-17 17:15:13

回答

7

你可以尝试这样的事情:

var mytable = "<table cellpadding=\"0\" cellspacing=\"0\"><tbody><tr>"; 

for (var i = 1; i < 31; i++) { 
    if (i % 3 == 1 && i != 1) { 
    mytable += "</tr><tr>"; 
    } 
    mytable += "<td>[" + i + "]</td>"; 
} 

mytable += "</tr></tbody></table>"; 

document.write(mytable); 

这里是一个jsFiddle demo

+0

thnx一吨@ ajax333221 – hero123 2012-03-17 17:34:10

+0

@ hero123看到更新,我删除了不必要的行 – ajax333221 2012-03-17 17:37:32

+0

Works Awesome !!! – VSN 2015-08-14 13:59:34

1

这是未经测试的伪代码,但可以帮助您开始:

var x, row; 
for(x=1;x<10;x=x+row) 
{ 
    document.write('<tr>'); 
    for(row=0;row<2;row++) 
    { 
     document.write('<td>' + (x + row)); 
     // Whatever else you want to output 
    } 
} 

编辑:给出这个答案OP编辑之前,他的问题添加其他信息。

+0

试试吧,thnx msigman! – hero123 2012-03-17 17:21:09