user2433662
user2433662

Reputation:

Use javascript to display information in a table

I need to write a script that displays the first 20 numbers in the fibonacci sequence in a web page. It also has to display these numbers in a table that is one column wide and 20 rows long. My javascript to display the numbers works, but I can't figure out how to get them to display in a table.

This is what I have so far:

   <script type="text/javascript">
        <!--

            var var1 = 0;
            var var2 = 1;
            var var3;

            var num = 20;

            document.write("<tr><td>"+var1+"</td></tr>");
            document.write("<tr><td>"+var2+"</td></tr>");

            for(var i=3; i <= num;i++)
            {
                var3 = var1 + var2;
                var1 = var2;
                var2 = var3;

                document.write("<tr><td>"+var3+"</td></tr>");
            }

        // -->
   </script>

Upvotes: 0

Views: 296

Answers (3)

Malk
Malk

Reputation: 11983

        var var1 = 0,
            var2 = 1,
            var3 = 1,
            data = [0,1],
            html = '',
            num = 20;

        for(var i=3; i <= num;i++)
        {
            var3 = var1 + var2;
            var1 = var2;
            var2 = var3;

            data.push(var3);
        }
        html = "<table><tbody><tr><td>" + data.join("</td></tr><tr><td>") + "</td></tr></tbody></table>";
        document.write(html);

http://jsfiddle.net/4ea4d/

Upvotes: 0

juvian
juvian

Reputation: 16068

Seems to me you are just missing the table element in the beginning and the end:

document.write("<table><tbody>");
        var var1 = 0;
        var var2 = 1;
        var var3;

        var num = 20;

        document.write("<tr><td>"+var1+"</td></tr>");
        document.write("<tr><td>"+var2+"</td></tr>");

        for(var i=3; i <= num;i++)
        {
            var3 = var1 + var2;
            var1 = var2;
            var2 = var3;

            document.write("<tr><td>"+var3+"</td></tr>");
        }
document.write("</tbody></table>");

Upvotes: 0

bjb568
bjb568

Reputation: 11498

You need a <table> and <tbody> for it to work.

document.write("<table><tbody>");
//create the table contents
document.write("</tbody></table>");

Upvotes: 2

Related Questions