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

问题描述 投票:1回答:1

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

javascript html-table
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.