我的功能根本不起作用,在我的第二个选择中没有任何反应。我想要的是从第二个选择中的数组中创建选项,具体取决于第一个Select中的selectedIndex。这里是我的代码:在另一个选择标记(onchange)的第二个选择中放入一个数组0123选择标记(onchange)
(我真不明白这是怎么回事,这个代码似乎在逻辑上正确的..)
<html>
<head>
<script>
function Choix(form) {
var x = form.Rubrique.selectedIndex;
if (x == 0) {
return;
}
switch (x) {
case 1:
var txt = new Array ('je','tets','esti');
break;
}
case 2:
var txt = new Array ('45','7575','47');
break;
}
for (x=0;x<txt.length;i++) {
var y = document.getElementById("Page");
var option = document.createElement("option");
option.text = txt[x+1];
y.add(option);
}
}
</script>
</head>
<body>
<form method="post" action="<?= $_SERVER['PHP_SELF'] ?>">
<SELECT NAME="Rubrique" onChange='Choix(this.form)'>
<OPTION></OPTION>
<OPTION>Plongée</OPTION>
<OPTION>Nucléaire</OPTION>
<OPTION>Bonheur</OPTION>
</SELECT>
<SELECT NAME="Page" id="Page">
<OPTION></OPTION>
</SELECT>
</body>
</html>
你有一个语法错误。在case 2之前删除'}': – Curious
在循环中用'x ++'代替'i ++' – Curious