SSブログ

jQueryを使ってプルダウンを連動させる。

選択したプルダウンの内容によって、別のプルダウンの内容が変わるように
jQueryを使って作ってみました。


先にサンプルを見た方がどんなのか分かりやすいと思うので
プルダウンのサンプルを見てください。

簡単に説明すると、HTMLの記述で
プルダウンに設定する値を、連想配列で作成します。
連動する処理を行うjQueryのプラグインの引数に
対象となるselect要素のID、連動するselect要素のID、連動するプルダウンに設定する値を格納した連想配列を渡します。

プラグインの中身はこんな感じです。
// プルダウンの変更を行う
$.fn.pulldownChange = function(targetid, changeid, changeItemArray){

$("#" + targetid).change(function(){

// 対象のプルダウンの値を取得する
value = $(this).val();

// 変更プルダウンのアイテムを削除する
$("#" + changeid).children().remove();

// 配列から対象のプルダウンの配列を取得する
changePulldown = changeItemArray[value];

// セレクトボックスのノードを取得する
changeSellectNode = window.document.getElementById(changeid);

// 配列を使ってプルダウンに値を設定する
for (var i = 0; i < changePulldown.length; i++ ) {
//$("#" + changeid).append("");
changeSellectNode.options[i] = new Option(changePulldown[i][1], changePulldown[i][0]);
}

changeSellectNode.selectedIndex = 0;
});
}

簡単な説明をすると
対象となるプルダウンの値を取得する。
連動するプルダウンの値を削除する。
連想配列から設定するプルダウンの配列を取得する。
配列を使ってプルダウンに値を設定する。
こんな感じです。

実際に確認をしていませんが、IE6だとoptionの追加がうまくいかないらしいので
new Option()を使ってプルダウンの追加をしました。

あんまり確認してないからもしかしたらおかしいところがあるかもしれないです。



nice!(1)  コメント(0)  トラックバック(0)  [編集]
共通テーマ:パソコン・インターネット

nice! 1

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

トラックバックの受付は締め切りました
広告スペース
Copyright © HTMLの基本から勉強してみる All Rights Reserved.

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。