动态表格将第一列的数字与第一行的数字相乘

时间:2015-12-13 20:38:26

标签: javascript html-table

我正在尝试构建一个使用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的测试输入

1 个答案:

答案 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;
  }
}

Fiddle