セレクトボックスの選択状態について
セレクトボックスの横にチェックボックスがあり、
チェックボックスON→セレクトボックスはAの内容
チェックボックスOFF→セレクトボックスはBの内容
となるものがあります。
問題は、これに値を保持する機能を付けたいのです。
例えば、チェックボックスにチェックがある状態でセレクトボックスの3番目の要素を選択していたとします。そこで、チェックをはずし一度Bの内容を表示させてから、再度チェックを付けAの内容に戻した時に3番目の要素が選択されている状態にしたいです。逆の場合も同様にしたいです。アドバイスを頂けたらと思います。宜しくお願い致します。
<script type="text/javascript">
<!--
a = 0;
b = 0;
txt = {};
txt["A"] = new Array("設定なし","A1","A2");
txt["B"] = new Array("設定なし","B1","B2","B3");
function set(select_box,check_box){
if (document.forms[0].elements[check_box].checked) {
key = "A";
b = document.forms[0].elements[select_box].options.selectedIndex;
} else {
key = "B";
a = document.forms[0].elements[select_box].options.selectedIndex;
}
while (document.forms[0].elements[select_box].options[0]){
document.forms[0].elements[select_box].options[0] = null; // セレクトボックスのメニューを消去
}
for (i=0; i<txt[key].length; i++){
document.forms[0].elements[select_box].options[i] = new Option(txt[key][i],txt[key][i]);
// セレクトボックスのメニューの項目を生成・表示テキストとvalue値を設定
}
if (key = "A") {
document.forms[0].elements[select_box].options.selectedIndex = a; } else if (key = "B") {
document.forms[0].elements[select_box].options.selectedIndex = b;
}
}
// -->
</script>