[新着] Webテンプレートを仮オープンしました
menuItem1 = [["あそぶ","昼寝"],["ショッピング","ランチ","デート"]];
menuItem3 = [[["バドミントン", "人生ゲーム", "トランプ"],
["いびき", "寝言"] ],
[["服", "バッグ", "化粧品"],
["ファーストフード", "和食"],
["映画","遊園地"] ]
];
// 1番目変更による 2番目のリスト切り替え
// @param select1_id : 連動元 select id 最初のリスト
// @param set2_id : 連動変更先 select id 2番目のリスト
// @param set3_id : 連動変更先 select id
function list_set2(select1_id, set2_id, set3_id){
if(! document.getElementById) return;
var n1 = document.getElementById(select1_id).selectedIndex;
add_list( set2_id, menuItem1[n1] );
var n2 = 0;
add_list( set3_id, menuItem3[n1][n2] );
}
// 連動optionオブジェクト 切り替え, data array 利用 (3連動→3次元配列)
// 2番目変更による 3番目のリスト切り替え
// @param select1_id : 連動元 select id 最初のリスト
// @param select2_id : 連動元 select id 2番目のリスト
// @param set3_id : 連動変更先 select id
function list_set3(select1_id,select2_id, set3_id){
if(! document.getElementById) return;
var n1 = document.getElementById(select1_id).selectedIndex;
var n2 = document.getElementById(select2_id).selectedIndex;
add_list( set3_id, menuItem3[n1][n2] );
}
// select optionとして 配列の要素を追加
// @param set_id : 変更先 select id
// @param list : 配列オブジェクト
function add_list( set_id, list ){
if(! document.getElementById) return;
var sel_obj = document.getElementById(set_id);
sel_obj.options.length = 0; // 配列の要素全削除はこれでもいける
var ll = list.length;
for (i=0; i<ll; i++){
opt_add(sel_obj, list[i]);
}
sel_obj.size = ll ;// 全行表示 ドロップダウンにするならllを1に変更
sel_obj.selectedIndex = 0;
}
// select object に option追加
// @param sel_obj : select object
// @param opt_v : option value, text
function opt_add(sel_obj,opt_v){
if(! document.createElement) return null;
var opt_obj = document.createElement("OPTION");
opt_obj.value = opt_v;
opt_obj.appendChild( document.createTextNode(opt_v) );
sel_obj.appendChild(opt_obj);
}