• 締切済み

フォーム上のselectボックスの動的リンク

入力フォーム上にある2つのselectボックスを動的にリンクさせる方法を教えてください。 (例)select1ボックス:部署名    select2ボックス:社員名    の場合   select1で経理部を選んだ時に、select2では経理部所  属の社員だけ表示させる。

みんなの回答

回答No.2

同じような機能を何度か作成した事があります。 いつくか方法は考えられると思いますが、私がよく使う方法はフレームとjavascriptを組み合せたものです。 用意するファイルは ・フレームを分けるHTMLファイル(A) ・部署名を選択するHTMLファイル(B) ・任意のHTMLファイル(C) ・社員名を選択するHTMLファイル(D) (A)は(B)と(C)が表示されるように設定します。 (C)は何を表示させても良いのですが、私の場合は白紙か空のselestBOXを表示させています。 (B)で部署を選択した際、javascriptで(C)を任意の(D)に書きかえればOKです。 こんな感じでOKでしょうか?

  • msystem
  • ベストアンサー率42% (79/186)
回答No.1

私も似たようなことをしたいことがよくありますが、おそらく、ASP単体ではできないと思います。実現するためには、JavaScriptやVBScriptでのクライアントサイドのスクリプトか、ブラウザをIEに限定(一部NNでも大丈夫なようですが)DHTML、またはActiveXドキュメントを使ったリアルタイムのサーバーとのやり取りが必要になると思います。 私がした妥協策は、Select1ボックスに入力したあと、FORMボタンで同じ(または、別の)ページへ飛ばし、FORM変数によって検索などを行いSelect2ボックスのリスト内容を変えるということをしています。 毎回、ページを飛ばなければならないのでユーザーはいらいらしますが、ブラウザを限定しないのであれば、この方法が一番ベストだと思います。

関連するQ&A

  • 複数のselectボックスの動的リンク

    javascriptを使って複数のselectボックスを動的にリンクさせ、なおかつ一度選択すると、次回開いたときにselectボックスの値が前回選んだ値と同じものが初期値になる、というようなことがしたいのですがやり方がわかりません。どなたか教えてくださいっ!! 例)select1:統轄名   select2:営業所名   select3:担当者名   select4:担当店   textボックス  :日付を手で入力 上下に分かれたフレームの上のフレーム部分に上記のように4つのselectボックスと1つのtextボックスがあり、 1.select1で統轄を選ぶとselect2にはその統轄内の営業所だけが表示される 2.select2で営業所を選ぶとselect3にはその営業所の担当者だけが表示される 3.select3で担当者を選ぶとselect4にはその人が担当しているお店が表示される 4.更にお店を選んでtextボックスに日付を入力すると、その日付以降の注文が下のフレームに表示される そして次回表示したときには、前回選んだものがselectボックスの初期値になっている というようなことがしたいのです。 よろしくお願いします★                  

  • Selectボックスの一覧表示方法

    Selectボックスの一覧表示方法 いつもお世話になりますm(__)m <input type='text' name='hoge1'> <select name='hoge2'> <option value='1'>Aあああ</option> <option value='2'>Bいいい</option> <option value='3'>Cううう</option> </select> 上記のフォームがあった場合、hoge1を入力して、TABキーでhoge2のSelectボックスにフォーカスが移動した時、hoge2の一覧を表示させたいのですが、可能でしょうか? hoge2にフォーカスがある時に、キーボードのALT+↓を押した時と同じ動作を自動でしたいと思っています。 ※Accessでいうところの、xx.Dropdownと同じです いろいろ調べたところ、「onfocus="this.size=5"」でSelectボックス自体のサイズを変更して表示する方法は見つかりました。 しかし、上記のようにSelectボックス自体のサイズを変更せず、まさにALT+↓を押した状態(一覧が表示される状態)にしたいと考えています。 javascriptのonfocusで出来そうな気がするのですが、お詳しい方、是非ともお力添え下さい。 宜しくお願い致します。

  • [Ethna]selectボックスに空値を入れたい

    PHPフレームワークのEthnaにて、フォームヘルパーを使用してselectボックスを作成しています。 このselectボックスに空の値を先頭に入れたいと考えていますが、方法が見つからなかったため、教えていただきたいです。 --↓のようにしたい-- <select> <option></option> <option value="1">AAA</option> <option value="2">BBB</option> <option value="3">CCC</option> </select> --------------------- アクションフォームの$formメンバ内の、typeやform_typeなどのオプションの箇所に何か追加するだけで実現できたら非常に楽なのですが。。。(cakephpはそんな感じで空行を入れられる) よろしくお願いします。

    • 締切済み
    • PHP
  • Selectボックスの幅を自動で広げたい

    Selectボックスの幅を自動で広げたい Jqueryを使って、DBから取得した値を下記のようにSelectボックスに入れています。 $('select#name).prepend('<option value="' + val[1] + '">' + val[2] + '</option>'); HTMLの方は下記のように設定してあり、 <select id="name"> </select> 値もきちんと挿入されます。 ただ、値が入ったあとのSelectボックスの幅が狭くて、選択した後に全部表示されていない状態です。 これを入れた値の文字数に応じて、またはこのSelectボックスが複数あるのですが、最大文字数に合わせた幅に自動で設定するのにはどうやってやればいいのでしょうか。 下記のように試してみたのですが、うまくいきませんでした。 <select id="name" style="width:auto;"> </select> <select id="name" style="width:100%;"> </select> どなたかおわかりの方いらっしゃいましたら教えてください、 よろしくお願い致します。

    • ベストアンサー
    • AJAX
  • selectフォームの特性について

    オプションメニューの表示について教えてください。 例) <select name="test" size="1" > <option value="0">---------</option> <option value="1">test1</option> <option value="2">test2</option> <option value="3" selected>test3</option> <option value="4">test4</option> <option value="5">test5</option> </select> 以上のようにselectフォームを設定した場合に、 クリックするとtest3が一番上に選択され、test4、test5の順に表示されますが、 これをtest3が選択された状態でtest1、test2、test3、test4、test5と いうように表示させることは可能なのでしょうか? もし、可能ならどのような方法があるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • SELECTボックスの内容を動的に変えるには

    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>

  • クエリ実行結果0件の場合のフォーム展開中止とメッセージ表示

    Access初心者です。 テーブルのデータをクエリで抽出し、フォームで表示しようと考えています。 たとえば、 「テーブル1」に、「ID」「氏名」「部署」「趣味」のフィールドが、 「結果表示フォーム」にも対応するレコードソースを持つボックスがあり、 「条件指定フォーム」に「部署」という名のボックスと、「マクロ1」を割り当てた「ボタン1」がある場合に、 「テーブル1」を基にした「クエリ1」で、「部署」の抽出条件に「[条件指定フォーム]![部署]」と設定し、 「マクロ1」では、「クエリ1」をフィルタにして、「フォームを開く」コマンドで「結果表示フォーム」を開きたいと考えています。 この場合、 「条件指定フォーム」の「部署」ボックスにたとえば「総務部」と入力して「ボタン1」をクリックすると、「テーブル1」中に総務部の社員がいれば「結果表示フォーム」は問題なく展開しますが、「総務部」の社員がデータ中にないときには、すべてのテキストボックスが空欄のまま「結果表示フォーム」が展開してしまいます。 そこで、 「クエリ1」実行の際、結果のレコード数が0件の場合には、「結果表示フォーム」の展開を中止してメッセージボックスを表示するような修正を「マクロ1」に追加したいと思います。 どのような条件付けをすればよいでしょうか。 どなたかよいアドバイスをお願いいたします。

  • Accessでフォームの検索について教えてください

    契約書情報の管理をしています。 (1)契約書TBL [契約書No][契約書名][契約社名][担当部署名][グループ名][社員名] (2)社員情報TBL [部署名][グループ名][社員名] (それぞれ入力用のフォームあり。) やりたいこと: ・契約書フォームで契約書名、社員名を検索すると、該当した情報が表示され、その中から選択して契約書情報の修正がしたい。 ・新規で契約書フォームに入力する場合、社員名を検索し、自動的に部署名、グループ名がフォームに表示されるようにしたい。 お手数ですがご回答頂ければと思います。 宜しくお願いします。

  • selectボックスで選択数を制限したい

    入力画面を作成しています。 この画面に、複数選択可能なselectボックスを配置したいと思っています。 この時、選択できる個数を制限したいのですがどのようにすればよいでしょうか? <select multiple size="3" name="test">   <option value="" selected></option>   <option value="1">A</option>   <option value="2">B</option>   <option value="3">C</option>   <option value="4">D</option>   <option value="5">E</option> <select> 初期値が「""」となっており、selectボックスで何も選択せずに登録することも可能で、 何か選択された時は、最大3つまでしか選択できないようしたいと思っております。 そして、最大3つまでしか選べようにした上で、その3つの中に初期値の「""」が含まれていた場合はメッセージを表示させる。 以上の事をやりたいのですが、どのようにすれば良いでしょうか? 助けてください。よろしくお願いします。

  • ExcelVBA コンボボックスに入力があったらリンクしてテキストボックスを更新したい

    フォームで入力画面をつくっています。 あるコンボボックスのリストから項目が選択されたら、一覧からリンクさせてテキストボックスの内容を更新がしたいのです。 例えば「社員コード」のコンボボックスで「3」が選択されたら、「社員名」のテキストボックスに別シートに作成してある社員一覧から「太郎」が表示されるというようにです。 セルA1とコンボボックスをリンクさせ、セルB1にVLOOKUP(A1,一覧,2)で一覧から名前を抽出しました。コンボボックスのChangeイベントでB1の内容をテキストボックスへ送っているのですが、カーソルを別の項目へ移動するまではテキストボックスの内容が更新されません。 コンボボックスのリストを選択した時点でテキストボックスを更新する方法はないでしょうか?

専門家に質問してみよう