繁体   English   中英

使用数组时无法在javascript中打印行

[英]cant print rows in javascript when array is used

我正在使用HTML和js制作网页,以下是该代码,基本上我想存储函数生成的数字并将其显示在第6列中,因此我将其存储在数组a中并在第6列中显示。但是当我写要添加的数字时,循环的位置就在那里停止,并且控制从循环中退出。 即。 仅显示一行一行

uid   day    time    source  destination     bus
 2

rand.html

<!DOCTYPE html>
<head>
<script type="text/javascript">
var abc = 0;
a = new Array();
var b = 0;
//Returns a random number
function CreateLottoValues() 
{
return Math.floor(Math.random() * 20 + 1);
}
//create table
function UpdateTable() 
{

document.write("<table border=1 id='myTable' > ")
document.write("  <tr><td  >&nbsp; uid</td><td  >&nbsp; day</td><td 
>&nbsp;time</td><td >&nbsp;source</td><td >&nbsp;destination</td> <td 
>&nbsp;bus</td></tr>  ")
for (row=2; row<=30; row++) {
document.write("<tr>")
for (col=1; col<=6; col++) {
if(col==1){
document.write("<td >" +row+ "</td>")
}
else if(col==6){
for (var i = 0; i <= a.length; i++) {
document.write("<td>" + a[i] +"</td>")
}
}
else{
abc = CreateLottoValues();
a.add(abc); 
//tmp =row + col;
//document.getElementById(tmp).innerHTML = CreateLottoValues();
document.write("<td >" + abc + "</td>")
}                   
}
document.write("</tr>") 
}       
document.write("</table>")
}
</script>
</head>

<body>
<center>

<div id="container">
<div id="header">
<h1>Welcome</h1> 
<p  id="demo"></p>

</div>

</div>
<input id="btn" type="button" value="Re-generate Numbers" 
onClick="UpdateTable()" />

</center>
</body>
</html>

谁能帮我? 谢谢你的建议。

经过仔细检查,我发现您的程序由于以下原因而无法正确运行:

a.add(abc); 

这是因为变量a是一个数组,并且要向数组中添加元素,请使用push功能将a.add(abc)替换为a.push(abc) 我还做了一些其他更改,将其与您的代码进行比较可以理解:

<!DOCTYPE html>
<head>
<script type="text/javascript">
var abc = 0;
a = new Array();
var b = 0;
//Returns a random number
function CreateLottoValues() 
{
return Math.floor(Math.random() * 20 + 1);
}
//create table
function UpdateTable() 
{

document.write("<table border=1 id='myTable' > ")
document.write("  <tr><td  >&nbsp; uid</td><td  >&nbsp; day</td><td>&nbsp;time</td><td >&nbsp;source</td><td >&nbsp;destination</td> <td>&nbsp;bus</td></tr>  ")
for (row=2; row<=30; row++) {
document.write("<tr>")
for (col=1; col<=6; col++) {
if(col==1){
document.write("<td >" +row+ "</td>")
}
else if(col==6){
document.write("<td>");
for (var i = 0; i < a.length; i++) {
document.write(a[i])
}
document.write("</td>");
a = new Array();
}
else{
abc = CreateLottoValues();
a.push(abc); 
//tmp =row + col;
//document.getElementById(tmp).innerHTML = CreateLottoValues();
document.write("<td >" + abc + "</td>")
}                   
}
document.write("</tr>") 
}       
document.write("</table>")
}
</script>
</head>

<body>
<center>

<div id="container">
<div id="header">
<h1>Welcome</h1> 
<p  id="demo"></p>

</div>

</div>
<input id="btn" type="button" value="Re-generate Numbers" 
onClick="UpdateTable()" />

</center>
</body>
</html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM