![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
開発環境はASP(ASP.NETでは無いです), SqlServerです。
実現したい処理としてはサーバーにある、親子関係の大分類マスタと中分類マスタより、セレクトボックス(HTMLで記載する際の<Select>タグで作成する物)を作成し、大分類マスタのセレクトボックスが変更されると、中分類マスタのセレクトボックスの値が変わる(画面の再描写は無し)という事をしたいと思っています。
こういった場合どのように記載すれば、実現することが可能でしょうか?
ASPでのソースの書き方を正直まだ理解できていませんので、バカな質問かもしれませんがよろしくお願い致します。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_12.png?e8efa67)
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ランキング
-
プルダウン 項目が多いので先頭...
-
Selectボックスの幅を自動で広...
-
Selectの中身をfor文で入れる
-
セレクトの値を取得できない
-
現在時刻を取得してフォームのs...
-
return trueとreturn falseの用...
-
javascriptでhiddenに二次元配...
-
formのfileの値をhiddenでも持...
-
javascriptでクイズ
-
【UWSC】HTML内のある部分を抽...
-
javascriptでセレクトボックス...
-
特定<table>内の<td>の色を変える
-
追加ボタンを押した際に ok ボ...
-
innerHTML内では改行は禁止?
-
submitした値を返したい
-
ファイル選択ダイアログが表示...
-
JavaScriptde途中で、「exit」...
-
1つのform内に2つのsubmitボタ...
-
value内に変数を入れたい
-
一覧から選択した行の行番号を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウン 項目が多いので先頭...
-
Selectボックスの幅を自動で広...
-
Selectの中身をfor文で入れる
-
html selectの内容を初期値に戻す
-
JQuery selectが反映されない
-
jQuery セレクトボックスで選択...
-
CSVファイルを読みこみ、プルダ...
-
セレクトを全て選択されていな...
-
現在時刻を取得してフォームのs...
-
セレクトの値を取得できない
-
リストボックスの項目の順番を...
-
onchange等のイベントハンドラ...
-
テーブルにおける行(セルにプル...
-
onFocusOutが複数回呼ばれる!
-
javascriptでプルダウンメニュ...
-
ブラウザの戻るボタンを押した...
-
<textarea>にプルダウンを表示...
-
javascriptでの2つのプルダウン...
-
selectタグに直接onChangeを書...
-
window.openで新しいタブが開か...
おすすめ情報