Javascript 需要选择一个新列,并使用带有下拉菜单的onchange函数打印到文本区域
好的,我这里有一个6x6的数字数组。我遇到的问题是,我需要在下拉列表中使用onchange来只选择所选的列。因此,如果我选择第5列,它将只显示该列中的数字。我花了一段时间在网上寻找一种方法来解决这个问题,所以我向这里的每个人求助。我只是用java脚本来创建这个Javascript 需要选择一个新列,并使用带有下拉菜单的onchange函数打印到文本区域,javascript,arrays,drop-down-menu,textarea,onchange,Javascript,Arrays,Drop Down Menu,Textarea,Onchange,好的,我这里有一个6x6的数字数组。我遇到的问题是,我需要在下拉列表中使用onchange来只选择所选的列。因此,如果我选择第5列,它将只显示该列中的数字。我花了一段时间在网上寻找一种方法来解决这个问题,所以我向这里的每个人求助。我只是用java脚本来创建这个 <script type="text/javascript"> // create a var for a 2-D array (6x6) var afNumbers = new Array
<script type="text/javascript">
// create a var for a 2-D array (6x6)
var afNumbers = new Array(6)
var i
var j
for (i = 0; i <= 5; i++)
afNumbers[i] = new Array(6)
//fill the array by using a nested for loop
//loop through each row
for (i = 0; i <= 5; i++)
{
//loop through each item in those row
for (j = 0; j <= 5 ; j++) {
afNumbers[i][j] = i + j
}
}
//function to print the array in the text area
function vPrint() {
var strOut = ""
for (i = 0; i <= 5; i++)
{
//loop through each item in those row
for (j = 0; j <= 5 ; j++)
{
strOut += afNumbers[i][j] + "\t"
}
strOut += "\r"
}
document.getElementById('taOut').value = strOut
}
function vDiagonal() {
var strOut = ""
for (i = 0; i <= 5; i++) {
//loop through each item in those row
for (j = 0; j <= 5 ; j++) {
if (i == j)
strOut += afNumbers[i][j] + "\t"
else strOut += "" + "\t"
}
strOut += "\r"
}
document.getElementById('taOut').value = strOut
function vColumn()
{
if (document.getElementById('PrintMenu').value == "1")
{
document.getElementById('').innerHTML = afNumbers[j] + strOut
}
}
}
</script>
</head>
<body>
<form id="frm2DArray" style="text-align:center">
<h2>Two Dimensional Arrays</h2>
<input type="button" id="btnPrint" value="Print Array" onclick="vPrint()"/><br /><br />
<input type="button" id="btnTranspose" value="Print Transpose" /><br /><br />
<input type="button" id="btnDiagonal" value="Print Diagonal" onclick="vDiagonal()" />
<h3>Print</h3>
<select id="PrintMenu" onchange="vColumn()">
<option value="1">Column 1</option>
<option value="2">Column 2</option>
<option value="3">Column 3</option>
<option value="4">Column 4</option>
<option value="5">Column 5</option>
</select>
<br />
<textarea id="taOut" rows="40" cols="80"></textarea>
</form>
</body>
</html>
//为二维阵列(6x6)创建变量
变量afNumbers=新数组(6)
变量i
var j
对于(i=0;i首先,我注意到您的代码中缺少分号,令人不安。请将它们放在您的语句之后
您可以获取printmenu的值并将其存储在变量中
var col = document.getElementById('PrintMenu').value;
从那里可以使用该值在数组中循环
afNumbers.forEach(function(entry) {
document.write(entry[col]);
});
这应该能说出列中的每一个数字。错误是什么?还有,真正的问题是什么?创建函数来显示从下拉菜单中选择的数字列没有任何错误,使用的是onchange函数非常好,但我需要在下拉菜单中使用onchangeline@dmbfan42好啊是的,所以将其包装在一个函数中,并使用onclick调用该函数。