我正在尝试构建一个使用userinput缩放大小的动态表,将第一列(1-n)中的数字与第一行中的数字(再次为1-n)相乘,并将其放入空桌子的细胞。
这是我到目前为止所做的:
<script type="text/javascript">
function createTable(){
var MyTable = document.getElementById("myTable");
var groesse = document.getElementById("Input").value;
for(i=0; i <= groesse; i++){
var row = MyTable.insertRow(i);
//adds as many rows to the table as the user wants
for(j=0; j <= groesse; j++){
var cell = row.insertCell(j);
cell.innerHTML = "Placeholder";
/*adding the cells in the rows and filling them with placeholders for testing*/
}
}
var Reihennummer = document.getElementsByTagName("tr");
var Zellennummer = document.getElementsByTagName("td");
for(k=1; k <= groesse; k++ ){
Zellennummer[k].innerHTML = k
//first row gets the numbers 1-n
}
for(l=0; l<=groesse; l++){
MyTable.rows[l].cells[0].innerHTML = l
//first column gets the numbers 1 - n
}
}
</script>
</header>
<body>
<table id="myTable">
</table>
number pls <input type="number" id="Input"><input type="button" onclick="createTable()" value="GOGO">
</body>
到目前为止一切顺利。 现在我想增加数字,这是我尝试的:
var m = 1
for(n=1; n<=groesse; n++){
MyTable.rows[m].cells[n].innerHTML = (m + 1) * n;
if (n % 10 = 0)
m = m+1
}
如果我试试,我甚至不再在页面上找到一张桌子,它根本就什么都不做。所以有问题的部分是我表的2个可变单元索引的乘法。希望你能在这里帮助我。
编辑:澄清%10:它是10的测试输入
答案 0 :(得分:2)
此行显示控制台错误 - “分配中的左侧无效”:
if (n % 10 = 0)
要测试相等性,请使用==
或===
。
==
会输入强制,在这种情况下不需要:
if (n % 10 === 0)
嵌套循环在这种情况下效果最佳:
for(var m = 1 ; m <= groesse ; m++) {
for(n = 1; n <= groesse; n++) {
MyTable.rows[m].cells[n].innerHTML = m * n;
}
}