使用for循环生成Html表

时间:2012-03-17 17:07:35

标签: javascript html

请帮助解决下面提到的情景 - >

我想在一个表格中显示1到30的值,使得1,2,3应该出现在一个标签中,并且像其他tr标签中明智的4,5,6一样,直到30值。我想使用表来显示表元素中的值。其中每个值如“1”应显示在一个中,否则“2”应显示在不同的<TD>中,依此类推。

我的意思是说值{1}应该显示在<TD><Table>标记中,值“2”应该显示在另一个<td>标记中,依此类推在三个后续<TD>之后,应使用<Tr>1 2 3 4 5 6 7 8 9 。输出应该如下 - &gt;

<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>

等等!

我们非常感谢早期的回应。感谢。

我已经尝试过Code,如下所示,

{{1}}

3 个答案:

答案 0 :(得分:8)

您可以尝试这样的事情:

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

答案 1 :(得分: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编辑他的问题之前给出了这个答案,以添加其他信息。

答案 2 :(得分:0)

使用模数运算符%检查第3个数字并相应地设置标记。

http://en.wikibooks.org/wiki/C_Sharp_Programming/Operators