我的功能根本不起作用,在我的第二個選擇中沒有任何反應。我想要的是從第二個選擇中的數組中創建選項,具體取決於第一個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