セレクトボックス連動
過去の質問にありましたソースを参考にセレクトボックスの
連動タイプをphpを絡めて作っています。
DBから取出した menua に入る値を初期値に設定したいのですが
うまくいきません。
menua には AAA、BBB、CCCが入ります。
初期値を変えるにはどのようにすればいいのでしょうか。
また、menua以外にもmenubの初期値も変える事が出来るのでしょうか。
以下ソースになります。
<?
$menua = "BBB";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<script type="text/javascript">
<!--
data = [
["AAA",
{key:"A01",value:101},
{key:"A02",value:102},
{key:"A03",value:103}],
["BBB",
{key:"B01",value:201},
{key:"B02",value:202},
{key:"B03",value:203}],
["CCC",
{key:"C01",value:301},
{key:"C02",value:302},
{key:"C03",value:303}]
];
// -->
</script>
<script type="text/javascript">
<!--
window.onload=function (){
for(var i=0; i<data.length; i++){
document.FORM1.menua.options[i] = new Option(data[i][0],data[i][0]);
}
setSubMenu(0);
};
function setSubMenu(no){
document.FORM1.menub.length=0;
for(var i=1; i<data[no].length; i++){
document.FORM1.menub.options[i-1] = new Option(data[no][i].key,data[no][i].value);
}
}
// -->
</script>
</head>
<body>
<form name="FORM1">
<select name="menua" onchange="setSubMenu(this.selectedIndex)">
</select>
<select name="menub" >
</select>
</form>
</body>
</html>
お礼
zzzzzz様 投稿してすぐ回答をいただきありがとうございました。 お答えを紙に書き出し今日一日読んでいました。 なるほど文字列にする方法がありましたね。それから関数を用いてリターンで返すという方法というのは、全く思いつきませんでした。 驚きの連続です。 ありがとうございました。 前回の質問は http://www.okweb.ne.jp/kotaeru.php3?q=247951 でした。