2013-10-30 28 views
-1

我正在用用户输入创建一个2d数组。如何将输入显示在3乘3表格上?在桌子上显示2d数组? Javascript

<script language = javascript> 
var b = []; 
for(var i=0; i<3; i++){ 
b[i] = []; 
for(var j=0; j<3; j++){ 
b[i][j] = window.prompt("b["+(i+1)+","+(j+1)+"] = ?"); 
} 
} 
</script> 
</head> 
<body> 
<table width="80%" border="2" cellspacing="0" cellpadding="0"> 
    <tr> 
<td> </td> 
<td>&nbsp;</td> 
<td>&nbsp;</td> 
</tr> 
<tr> 
<td>&nbsp;</td> 
<td>&nbsp;</td> 
<td>&nbsp;</td> 
</tr> 
+0

您想如何生成HTML? DOM API或字符串+ .'innerHTML'? – Halcyon

+0

你能清楚地发布表格结构吗?你在3by3表中的含义是什么? –

+1

@hilarudeens认真吗? 3 trs,3 tds在每个tr –

回答

2

从@约翰Hartsock答案遍历你可以做像这样的东西..

<!DOCTYPE html> 
<html> 
<head> 
<style> 
table { 
    font: 11px/24px Verdana, Arial, Helvetica, sans-serif; 
    border-collapse: collapse; 
    width: 320px; 
    } 

td { 
    border: 1px solid #CCC; 
    padding: 0 0.5em; 
    } 


</style> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"> 
</script> 
<script> 

$(document).ready(function(){ 



$("#myRandomizeBtn").bind("click",randomizeHandler); 

function randomizeHandler(evt){  
var root=document.getElementById('mydiv'); 
var tab=document.createElement('table'); 
tab.className="mytable"; 
var tbo=document.createElement('tbody'); 
var row, cell; 
var n = 3; 
var data;  

for (i=0; i<n; i++) 
{ 
    row=document.createElement('tr'); 
    for(var j=0;j<n;j++){ 
     cell=document.createElement('td'); 
     data =window.prompt("b["+(i+1)+","+(j+1)+"] = ?"); 
     cell.appendChild(document.createTextNode(data)); 
     row.appendChild(cell); 
    } 
    tbo.appendChild(row); 
} 
tab.appendChild(tbo); 
root.appendChild(tab); 




    } 



}); 
</script> 
</head> 
<body> 
    <div id='mydiv'></div> 
    <button id = "myRandomizeBtn">Randomize</button> 
</body></html> 

这里是一个工作fiddle

+0

似乎工作时,我从小提琴运行,但是当我从notepad ++运行它不能得到它的工作,任何想法? – Jessica

+0

我没有检查过它,尝试使用控制台和调试错误 –

+0

我编辑我的答案检查此完整的HTML文件。 –

1

您可以使用下面的代码来遍历和推进价值

var table = document.getElementById("mytab1"); 
for (var i = 0, row; row = table.rows[i]; i++) { 
    //iterate through rows 
    //rows would be accessed using the "row" variable assigned in the for loop 
    for (var j = 0, col; col = row.cells[j]; j++) { 
    //iterate through columns 
    //columns would be accessed using the "col" variable assigned in the for loop 

     col.innerText = b[i][j]; //Set your value here 
    } 
} 

Working Demo

参考在How do I iterate through table rows and cells in javascript?

+0

我想把元素b [0] [0]放在第一行​​我该怎么做? – Jessica

+0

@Jessica,就在那里。你有没有看过演示 – Satpal

+0

即时通讯看演示,但它不显示表的值我输入 – Jessica