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