Reputation:
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
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);
Upvotes: 0
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
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