入力フォーム上にある2つのselectボックスを動的にリンクさせる方法を教えてください。
(例)select1ボックス:部署名
   select2ボックス:社員名    の場合

  select1で経理部を選んだ時に、select2では経理部所  属の社員だけ表示させる。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

同じような機能を何度か作成した事があります。


いつくか方法は考えられると思いますが、私がよく使う方法はフレームとjavascriptを組み合せたものです。

用意するファイルは
・フレームを分けるHTMLファイル(A)
・部署名を選択するHTMLファイル(B)
・任意のHTMLファイル(C)
・社員名を選択するHTMLファイル(D)

(A)は(B)と(C)が表示されるように設定します。
(C)は何を表示させても良いのですが、私の場合は白紙か空のselestBOXを表示させています。

(B)で部署を選択した際、javascriptで(C)を任意の(D)に書きかえればOKです。

こんな感じでOKでしょうか?
    • good
    • 0

私も似たようなことをしたいことがよくありますが、おそらく、ASP単体ではできないと思います。

実現するためには、JavaScriptやVBScriptでのクライアントサイドのスクリプトか、ブラウザをIEに限定(一部NNでも大丈夫なようですが)DHTML、またはActiveXドキュメントを使ったリアルタイムのサーバーとのやり取りが必要になると思います。

私がした妥協策は、Select1ボックスに入力したあと、FORMボタンで同じ(または、別の)ページへ飛ばし、FORM変数によって検索などを行いSelect2ボックスのリスト内容を変えるということをしています。
毎回、ページを飛ばなければならないのでユーザーはいらいらしますが、ブラウザを限定しないのであれば、この方法が一番ベストだと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QSELECTボックスの内容を動的に変えるには

2つのSELECTボックスを用意し、1つ目のSELECTボックスの内容により
2つめのSELECTボックスの内容(項目数も含め)を変える方法を教えてください。
下記のようなHTMLを作ってみましたが、2つ目のSELECTボックスに項目がないため「オブジェクトがありません」のエラーが出ます。
-------------------------------------------------------
<html>
<head>
<SCRIPT language="vbscript">
<!--
option explicit
sub selchng()
dim strsel

strsel = sel1.selectedIndex
Select Case strsel
Case "1"
sel2.item(0).value = "1"
sel2.item(0).text = "1"
sel2.item(1).value = "2"
sel2.item(1).text = "2"
Case "2"
sel2.item(0).value = "a"
sel2.item(0).text = "a"
sel2.item(1).value = "b"
sel2.item(1).text = "b"
sel2.item(2).value = "c"
sel2.item(2).text = "c"
Case else
sel2.item(0).value = "A"
sel2.item(0).text = "A"
End Select
end sub


-->
</SCRIPT>
</head>

<body>
<select name="sel1" onchange=selchng()>
<option value="1" selected>1</option>
<option value="2" >2</option>
<option value="3" >3</option>
</select>

<select name="sel2">
</select>
</body>
</html>

2つのSELECTボックスを用意し、1つ目のSELECTボックスの内容により
2つめのSELECTボックスの内容(項目数も含め)を変える方法を教えてください。
下記のようなHTMLを作ってみましたが、2つ目のSELECTボックスに項目がないため「オブジェクトがありません」のエラーが出ます。
-------------------------------------------------------
<html>
<head>
<SCRIPT language="vbscript">
<!--
option explicit
sub selchng()
dim strsel

strsel = sel1.selectedIndex
Select Case strsel
C...続きを読む

Aベストアンサー

#1の方と同じですがVBScript版です。

strsel = sel1.selectedIndex はセレクトボックスの順番で取得(0~)
 この場合Caseの設定は
 case 0
 case 1
 case 2
 となる
sstrsel = el1.value にするとオプションのValue値から取得
 この場合Caseの設定は
 case "1"
 case "2"
 case "3"
 となる

<html>
<head>
<SCRIPT language="vbscript">
<!--
option explicit
sub selchng()
dim strsel

strsel = sel1.value
Select Case strsel
Case "1"
sel2.options.length = 2
sel2.options(0).value = "1"
sel2.options(0).text = "1"
sel2.options(1).value = "2"
sel2.options(1).text = "2"
Case "2"
sel2.options.length = 3
sel2.options(0).value = "a"
sel2.options(0).text = "a"
sel2.options(1).value = "b"
sel2.options(1).text = "b"
sel2.options(2).value = "c"
sel2.options(2).text = "c"
Case else
sel2.options.length = 1
sel2.options(0).value = "A"
sel2.options(0).text = "A"
End Select
end sub
-->
</SCRIPT>
</head>
<body>
<select name="sel1" onchange=selchng()>
<option value="1" selected>1</option>
<option value="2" >2</option>
<option value="3" >3</option>
</select>

<select name="sel2">
</select>
</body>
</html>

#1の方と同じですがVBScript版です。

strsel = sel1.selectedIndex はセレクトボックスの順番で取得(0~)
 この場合Caseの設定は
 case 0
 case 1
 case 2
 となる
sstrsel = el1.value にするとオプションのValue値から取得
 この場合Caseの設定は
 case "1"
 case "2"
 case "3"
 となる

<html>
<head>
<SCRIPT language="vbscript">
<!--
option explicit
sub selchng()
dim strsel

strsel = sel1.value
Select Case strsel
Case "1"
sel2.options.length = ...続きを読む

QSELECTボックスからの1バイト空白の取得について

こんにちは。フォームのSELECTボックスの値のASP(VBScript)からの取得
で教えて下さい。

<SELECT NAME=koumoku SIZE=1>
<OPTION> </OPTION>
<OPTION>A</OPTION>
<OPTION>B</OPTION>
<OPTION>C</OPTION>
<OPTION>D</OPTION>
<OPTION>E</OPTION>
<OPTION>F</OPTION>
<OPTION>G</OPTION>
<OPTION>Z</OPTION>
</SELECT>

フォーム内で上記のようなselectボックスを使ってデータを登録
しています。最初の<OPTION>は1バイトの空白なのですが、この値を
ASPのRequest.Formで取得すると、Lengthが0になります。で、その項目を
Oracleのテーブルに登録するとNullになってしまいます。私としては
1バイトの空白を登録したいのですけど、これは仕様なのでしょうか?
とりあえず、今は以下のような処理を追加してしのいでいます。
w_koumoku = Request.Form("koumoku")
If Len(w_koumoku) = 0 Then
w_koumoku = " "
End If

アドバイスよろしくお願いします。

こんにちは。フォームのSELECTボックスの値のASP(VBScript)からの取得
で教えて下さい。

<SELECT NAME=koumoku SIZE=1>
<OPTION> </OPTION>
<OPTION>A</OPTION>
<OPTION>B</OPTION>
<OPTION>C</OPTION>
<OPTION>D</OPTION>
<OPTION>E</OPTION>
<OPTION>F</OPTION>
<OPTION>G</OPTION>
<OPTION>Z</OPTION>
</SELECT>

フォーム内で上記のようなselectボックスを使ってデータを登録
しています。最初の<OPTION>は1バイトの空白なのですが、この値を
ASPのRequest.Formで取得すると、Lengthが0に...続きを読む

Aベストアンサー

<SELECT NAME=koumoku SIZE=1>
<OPTION value=" "> </OPTION>
<OPTION value="A">A</OPTION>
<OPTION value="B">B</OPTION>
  :
  :
</SELECT>
としてみてはいかがですか?

QSELECTでOPTION多数の場合のselectedされたOPTION項目表示

あるフォームのなかでselectで選択し、submitしたデータを再度同一フォームで編集できるような画面を作っています。
selectのOPTIONの数が100ほどあり、selectの表示サイズをレイアウト上10に設定しています。
選択されたデータをDBから読み、そのOPTIONをselectedとしているのですが、
そのOPTIONが例えば上から80番目などにあると、
すでに何か選択されているのか、あるいは何も選択されていなかったのか、いちいちスクロールして確かめないとわかりません。

このような場合に、選択されている項目のOPTION selectedがselectの表示エリアの中にあらかじめ表示されるようにするにはどのようにしたら良いのでしょうか?

よろしくお願いします。

Aベストアンサー

javascriptを使用してみました。

<HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT LANGUAGE=javascript>
<!--
function window_onload() {
str = location.search;
str = str.substring(1,str.length);
if (str=="")
no=0;
else
no=parseInt(str);
select1.item(no).selected = true;
}
function submit1_onclick() {
txt = select1.selectedIndex;
window.location.href="select.htm?"+txt;
}
//-->
</SCRIPT>
</HEAD>
<BODY onload="return window_onload()">
selectで選択した項目を自分に送る<br>
<P><SELECT id=select1 style="WIDTH: 172px" size=2 name=select1>
<OPTION value=aaaa>aaaa</OPTION>
<OPTION value=bbbbb>bbbb</OPTION>
<OPTION value=ccccc>cccc</OPTION>
<OPTION value=ddddd>dddd</OPTION>
</SELECT>
<INPUT id=submit1 type=submit value=Submit name=submit1 LANGUAGE=javascript onclick="return submit1_onclick()"></P>
</BODY>
</HTML>

>selectの表示サイズをレイアウト上10に設定しています。
サンプルでは2にしてます.
>いちいちスクロールして確かめないとわかりません。
JavaScriptのSelectedでは下のdddddも表示されるようです。

javascriptを使用してみました。

<HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT LANGUAGE=javascript>
<!--
function window_onload() {
str = location.search;
str = str.substring(1,str.length);
if (str=="")
no=0;
else
no=parseInt(str);
select1.item(no).selected = true;
}
function submit1_onclick() {
txt = select1.selectedIndex;
window.location.href="select.htm?"+txt;
}
//-->
</SCRIPT>
</HEAD>
<BODY onload="return window_onload()">
selectで...続きを読む

QASP:チェックボックスについて

アンケートページを作成中です。HTMLでチェックボックスを作りました。テキストベースかエクセルベース(縦並び)でアンケートの答えを書き出し集計をとる予定です。まず、ラジオボタンに対してのASPは分かったのですが、チェックボックスに対してのASPが分かりません。複数チェックが出来なくなってしまったり、結果(テキストやエクセル)にアンケートの答えが出なく”;;”表示になってしまいます。分かる方、どうか教えてください。ASP初心者です。よろしくお願いします。

Aベストアンサー

「チェックボックスがおかしい」ということは ASP の問題じゃなくて、HTML 表現でチェックボックスをちゃんと書けてないか、理解していないだけの話だと思います。
ASP はそれを動的に出力するように Response.Write するだけです。

まずは「正しく表示できていない」というページをブラウザで開いて、HTML コードを表示させてみてください。
そこで「HTML コードにどんな不備があるので正しく表示できないのか」を確認します。
次に「ASP のコードのどの部分が該当するのか」を確認して適宜修正します。



「ASP 初心者です」という方にいつも薦めている推進方法があります。

(1) 作りたいページのサンプルを通常の HTML で作成してください。

(2) サンプルページの HTML コードを見て理解してください。

(3) その HTML コードのうち、条件によって変化する部分を、条件によって変化して出力できるように書き直してください。

以上です。
(1) と (2) が理解できてないと ASP によって正しい HTML を出力させるコードを書く (3) は無理ですよね。
ramu-rin さんは (1) や (2) をイメージできていますか?
ramu-rin さんが書いた ASP コードによってブラウザに出力された HTML コードを確認してみましたか?
確認してみて、本来出力したい正しい HTML コードと何が違っていますか?

「チェックボックスがおかしい」ということは ASP の問題じゃなくて、HTML 表現でチェックボックスをちゃんと書けてないか、理解していないだけの話だと思います。
ASP はそれを動的に出力するように Response.Write するだけです。

まずは「正しく表示できていない」というページをブラウザで開いて、HTML コードを表示させてみてください。
そこで「HTML コードにどんな不備があるので正しく表示できないのか」を確認します。
次に「ASP のコードのどの部分が該当するのか」を確認して適宜修正します。

...続きを読む

Q質問:textボックスに"手入力"して検索【(2)】

こんにちは。お世話になりまくっていますtanabaです。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1089885
で、良回答をいただいたのですが、その後確認したところ…動きませんでした。
これで、できる!と思い込み、良回答のボタンを押してしまいはやまってしまいました。反省しています。
現在、[Microsoft][ODBC Microsoft Access Driver] クエリ式 'id AND shuppan1 between and' の 構文エラー : 演算子がありません。 というエラーが出ており、どこを修正したらいいのかわからない現状です・・・。

【(1)】
http://riss.narc.affrc.go.jp/kssys/test/encode.asp?file=query
URL(1)を参考に(ほぼ同じですが…)、検索スクリプトを作っています。
当方、個人ホームページで"書籍を検索"できるようなものを作成したいと思っています。そして、この検索に追加したい機能というのが

【(2)】
http://kototoi.dl.itc.u-tokyo.ac.jp/opac/help/expart-help.html
(2)のURLの"1990年から1995年に出版された資料に限定する。"という
検索方法です。
<input type="text" name="syuppan1">年~<input type="text" name="syuppan2">年
という感じです。
それで、【(1)】のURLと同様の方法で、【(2)】の検索方法をくっつけたい(追加したい)のですが
追加するのに必要な部分をどうしたらよいのかおしえていただけないでしょうか?
※データの保存はmdbで、syuppan1とsyuppan2の下限と上限のデータはmdbの「year」に格納されています。

当方初心者なものでじゅうぶんに理解できておらず申し訳ない気持ちでいっぱいです。
データベースをいじるので自分で作成してみよう!と思い、手を出したのですが、全然理解できず・・。
外注に出しておけばよかったかもしれません・・・。
お時間のある方、おわかりになる方よろしくお願い申し上げます。

こんにちは。お世話になりまくっていますtanabaです。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1089885
で、良回答をいただいたのですが、その後確認したところ…動きませんでした。
これで、できる!と思い込み、良回答のボタンを押してしまいはやまってしまいました。反省しています。
現在、[Microsoft][ODBC Microsoft Access Driver] クエリ式 'id AND shuppan1 between and' の 構文エラー : 演算子がありません。 というエラーが出ており、どこを修正したらいいのかわからない現状です・・・。

【...続きを読む

Aベストアンサー

こんにちは。

ようやく解決しそうですね・・・多分。

エラーの原因
1.の場合
MDB側のYEARのカラムのデータ型と、条件で入力したデータ型が一致していない。
例えばYEARがDATE型で、条件がNUMBERなど。
この場合、検索条件を型変換する必要がある。

2.の場合
このSQLの場合、何も入れなければこけてしまうのは当然。
入れない可能性があるのなら、SQLの構文を作り変える必要がある。

後は大丈夫ですよね?
(^^ゞ


人気Q&Aランキング

おすすめ情報