我正在尝试使用全局2d数组,但是遇到的问题是如果不是[0] [x],则无法填充/读取数组,这是为什么?

邮递区号:

<div id=<?php echo $dagen[$i];?>>
</div>
<div id=<?php echo $dagen[$i]."1"; ?>>
<td align="center">
<form>
<select name =<?php echo $dagen[$i]."1"; ?> id=<?php echo $dagen[$i]."1"; ?> onchange="weekchange(this, '<?php echo $i ?>','<?php echo $teller ?>','<?php echo $project[$i] ?>');savechange('<?php echo $project[$i] ?>','<?php echo $i ?>', this);"/>
<?php
for ($z = 1; $z < 53; $z++)
{
?>
<option value=<?php echo $z ?> <?php if($z == $datum) { echo "selected"; } ?>> <?php echo "week: ".$z ?> </option>
<?php
}
?>


关于函数savechange的信息:

savechange('<?php echo $project[$i] ?>','<?php echo $i ?>', this);

$ project [$ i] =我的项目名称

$ i =项目位置

这=这里我从下拉框中取出值。

我将这些变量发送到javascript函数savechange():

var arr = new Array([]);

function savechange(project, i, thisvalue)
{
var x = i;
alert(x);
arr[x][0] = project;
alert(arr[x][0]);
arr[x][1] = thisvalue.value;
alert(arr[x][1]);
}


变量arr是全局变量。

当我调用此函数时,它仅在x的值为0时才起作用。另外,当我查看其他示例时,也存在相同的问题,例如:http://jsfiddle.net/BlackSRC/zrnr9/。当我填写1而不是前0时,它将不起作用。

最佳答案

var arr = new Array([]);

function savechange(project, i, thisvalue)
{
var x = i;
alert(x);
arr[x] = new Array([]); // Added this one..
arr[x][0] = project;
alert(arr[x][0]);
arr[x][1] = thisvalue.value;
alert(arr[x][1]);
}


http://jsfiddle.net/zrnr9/135/

09-25 14:36