![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
開発環境はASP(ASP.NETでは無いです), SqlServerです。
実現したい処理としてはサーバーにある、親子関係の大分類マスタと中分類マスタより、セレクトボックス(HTMLで記載する際の<Select>タグで作成する物)を作成し、大分類マスタのセレクトボックスが変更されると、中分類マスタのセレクトボックスの値が変わる(画面の再描写は無し)という事をしたいと思っています。
こういった場合どのように記載すれば、実現することが可能でしょうか?
ASPでのソースの書き方を正直まだ理解できていませんので、バカな質問かもしれませんがよろしくお願い致します。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_12.png?5a7ff87)
No.2ベストアンサー
- 回答日時:
こんなのじゃだめかなぁ~?
<select id="a"></select>
<select id="b"></select>
<script type="text/javascript">
//@cc_on
var a_val = [0,1,2];
var a_txt = ['A','B','C'];
var b_val = [ [0,1,2],[0,1,2],[0,1,2] ];
var b_txt = [ ['A0','A1','A2'],['B0','B1','B2'],['C0','C1','C2']];
window.onload=function(){
setSelectOption('a',a_txt,a_val);
setSelectOption('b',b_txt[0],b_val[0]);
document.getElementById('a').onchange = function() {
setSelectOption('b',b_txt[this.value],b_txt[this.value],0);
}
}
function setSelectOption( elementId ,text_array, value_array, default_value, selected_value){
var element = ( typeof( elementId ) == 'string' )?
document.getElementById( elementId ) || document.getElementsByName( elementId )[0]: elementId;
while ( element.hasChildNodes() ) element.removeChild( element.lastChild );
for (var i=0, mx = text_array.length; i<mx; i++){
var n = new Option( text_array[i], value_array[i],(default_value==value_array[i]),(selected_value==value_array[i]));
element.add( n/*@if(0) */, null /*@end@*/);
}
}
</script>
No.1
- 回答日時:
中分類タグの選択肢をオプションオブジェクトで動的に作成します。
<SCRIPT type="text/javascript">
<!--
function resetChild() {
var idx = document.frmMAIN.CMB_LARGE.selectedIndex;
var large = document.frmMAIN.CMB_LARGE.options[idx].value;
switch (large) {
case "A" :
document.frmMAIN.CMB_MIDDLE.length = 3;
document.frmMAIN.CMB_MIDDLE.optios[0] = new Option("A111","A111");
document.frmMAIN.CMB_MIDDLE.optios[1] = new Option("A222","A222");
document.frmMAIN.CMB_MIDDLE.optios[2] = new Option("A333","A333");
break;
case "B" :
document.frmMAIN.CMB_MIDDLE.length = 4;
document.frmMAIN.CMB_MIDDLE.optios[0] = new Option("B111","B111");
document.frmMAIN.CMB_MIDDLE.optios[1] = new Option("B222","B222");
document.frmMAIN.CMB_MIDDLE.optios[2] = new Option("B333","B333");
document.frmMAIN.CMB_MIDDLE.optios[3] = new Option("B444","B444");
break;
case "C" :
document.frmMAIN.CMB_MIDDLE.length = 2;
document.frmMAIN.CMB_MIDDLE.optios[0] = new Option("C111","C111");
document.frmMAIN.CMB_MIDDLE.optios[1] = new Option("C222","C222");
break;
}
document.frmMAIN.CMB_MIDDLE.selectedIndex = 0;
}
-->
</SCRIPT>
<FORM NAME="frmMAIN">
//大分類
<SELECT NAME="CMB_LARGE" onChange="resetChild()">
<option value="A" SELECTED>A</option>
<option value="B">B</option>
<option value="C">C</option>
</SELECT>
<SELECT NAME="CMB_MIDDLE">
<option value="A111" SELECTED>A111</option>
<option value="A222">A222</option>
<option value="A333">A333</option>
</SELECT>
</FORM>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Excel(エクセル) VBA でvlookup エラーなどは削除したい 8 2022/12/30 04:03
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- Excel(エクセル) エクセル関数の詳しい方に質問です 2 2023/01/12 12:48
- Excel(エクセル) IFERROR、SMALL関数について 2 2022/08/22 23:40
- Excel(エクセル) [クイックアクセスツールバー]の設定ファイルの格納場所について、 5 2023/04/21 14:43
- SQL Server AccessのInsertクエリのあとつづけてDeleteクエリを行いたいがSQLでどう書いたらいい 3 2023/05/27 14:12
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- iPad AirPodsは使用済小型家電回収ボックスに入れても大丈夫なのか? 1 2022/09/08 17:38
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プルダウン 項目が多いので先頭...
-
リストボックスの4連
-
JQuery selectが反映されない
-
Selectの中身をfor文で入れる
-
Selectボックスの幅を自動で広...
-
リストボックスに追加した全て...
-
特定の要素内に入力された文字...
-
DB(MySQL)、PHP、jQueryの連結
-
html selectの内容を初期値に戻す
-
セレクトメニューの連動 multip...
-
どちらのほうが処理が早いか
-
メッセージを出したい!
-
ブラウザの戻るボタンを押した...
-
int select(int n, fd_set *rea...
-
JavaScriptでプルダウンのサイ...
-
メールフォームのタグについて...
-
セレクトで選んだ項目を表示さ...
-
jQuery セレクトボックスで選択...
-
js セレクター書式
-
ラジオボタンでポップアップメ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウン 項目が多いので先頭...
-
Selectの中身をfor文で入れる
-
Selectボックスの幅を自動で広...
-
CSVファイルを読みこみ、プルダ...
-
セレクトを全て選択されていな...
-
jQuery セレクトボックスで選択...
-
UWSCのIE操作でプルダウンを選...
-
html selectの内容を初期値に戻す
-
現在時刻を取得してフォームのs...
-
javascriptでの2つのプルダウン...
-
テーブルにおける行(セルにプル...
-
selectタグに直接onChangeを書...
-
【javascript・PHP】プルダウン...
-
セレクトメニューで選択された...
-
ブラウザの戻るボタンを押した...
-
JQuery selectが反映されない
-
<textarea>にプルダウンを表示...
-
プルダウンで現在の年月日を取...
-
リストボックスの項目の順番を...
-
親ウィンドウのリスト値変更
おすすめ情報