• 締切済み

コンボボックス(?)を3つ連動させたモノを、Web、Excelで作る方法は?

『OKWeb』の質問をする際に、『カテゴリーを選択する』で大分類、中分類、小分類の選択ができるようになっていて、大分類の選択にヒモ付けされた中分類(中分類→小分類も同じ)が選択できるようになっています。 このように3つを連動させて選択させるのは、どのようにしたら作れるのでしょうか? ネットで調べても方法が見つかりませんでした。 (1) Webで上記を作る場合(ホームページビルダーは持っていますが、出来そうにありません) (2) Excelで作る場合(コンボボックスというのを使うのだと思いますが・・・ ちなみにExcel2000です。) ※ちなみにパソコンはあまり得手ではありません。。。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

WEBの場合プログラムでやります。 (エクセルもそうですが、今回は省略) PHPやCGIという言葉はご存知ですか? 普通はそれでやります。聞いたことなければ すぐには難しいと思うので諦めてください。 別のやり方としてはjavascriptというプログラム でもできます。これはこんな感じでやります。 ソースみてわからなければ、地道に勉強してください。 (参考なのでかなりてを抜いてます) <form> <select id="s1" onChange="changeS1(this)"> <option value="">大分類を選択してね <option value="aaa">大分類aaa <option value="bbb">大分類bbb <option value="ccc">大分類ccc </select> <select id="s2" onChange="alert('省略')"> <option value="">中分類を選択してね </select> <select id="s3"> <option value="">小分類を選択してね </select> </form> <script> function changeS1(num){ var val=num.options[num.selectedIndex].value; var s2=num.form.s2; switch (val){ case "aaa": s2_value="aaa-001\naaa-002\naaa-003".split("\n") s2_text="aaaの1番目\naaaの2番目\naaaの3番目".split("\n") s2.length=s2_value.length+1; for (var i=0 ;i<=s2_value.length -1;i++){ s2.options[i+1].value=s2_value[i]; s2.options[i+1].innerText=s2_text[i]; } break; case "bbb": alert("省略"); break; case "ccc": alert("省略"); break; default: s2.length=1; s2.options[0].select; } } </script>

関連するQ&A

  • コンボボックスの連動(3つの場合)

    2つのコンボボックスの連動の仕方についてはできたのですが、3つの場合が出来ません。 たとえば、1つ目のコンボボックスに「県名」2つ目のコンボボックスに「市町村名」3つ目のコンボボックスに「地名」とある場合、「県名」から「市町村名」についてはうまく連動できたのですが、「市町村名」から「地名」へは空欄のままで連動しません。 2つのコンボボックスの連動と3つのコンボボックスの連動ではなにかやり方が異なるのでしょうか。

  • vbデータベースのコンボボックスの連動

    お世話様です。 VBでデータベースを作っています。 Accessのテーブルからコンボボックスで、レコードを 読み込んでるのですが、1つ目のコンボボックスで 選択した際に、他のコンボボックスも連動するようにするにはどうすればいいでしょうか?? たとえば  コンボボックスであるレコードを選択。 他のコンボボックスでは、先のコンボボックス で絞り込まれたレコードのみ選択できるようにする。 それに伴い他のフィールドも連動するということです。 どうぞよろしくお願いいたします。

  • mysql+phpでコンボボックスの連動方法

    *********************************************************** 以前の質問がわかりやすい書き方でしたので、お借りしています。 追加で質問したいのでそのまま引用させてもらいました。 *********************************************************** 以前の回答ではjavaが使われていましたが、mysql+phpのみで 完成させたい場合の方法を教えてください。 また、選択した2つのリストの結果をDBに書き込む方法も 教えてください。 *********************************************************** [table 1] id  種類 ---------- 1 野菜 2  果物 3  麺 [table 2] id   key   名前 ---------------------- 1  1 にんじん 2   1 たまねぎ 3   1   ほうれん草 4  2 りんご 5   2   バナナ 6  3 うどん 7   3   ラーメン [table 1]のid と、[table 2]のkeyが 対応するように、連動したコンボボックスを作りたいと思って頑張っています。 コンボボックス1には、[table 1]の、種類が入り コンボボックス2には、[table 1]の種類に連動して、[table 2]の名前が選択できるように したいと思っています。 たとえば、コンボボックス1で「果物」を選択した場合、 コンボボックス2では、「りんご」「バナナ」がコンボボックスに 表示されて選べるようになるようにするです。 単純に、mysqlからセレクトフォームに表示することはできましたが、 連動がどうやればいいのか、色々調べましたが 力不足で分かりませんでした。 コンボボックスを連動させるために、[table2]に「key」のフィールドを加えたので、 改良しようと思っております。 ご教授をよろしくお願いいたします。

    • 締切済み
    • PHP
  • コンボボックスの連動

    コンボボックスの連動を実現したいです。 コンボボックスがAとBの2個あります。 Aにメーカーをセット 例) 1 エプソン 2 キャノン 3 HP Bに機種名をセット 例)Aでエプソンを選択したとき 1 EPシリーズ 2 PMシリーズ 例)Aでキャノンを選択したとき 1 PIXUSシリーズ 2 Sateraシリーズ コンボボックスAの選択内容により コンボボックスBの内容を変更したいです。 各A,Bの選択した値(1、2)も取得したいです。 よろしくお願いします。

  • コンボボックス

    コンボボックスから選択した内容によってそれに関するコンボボックスの内容を変えたいと思っています。 例えば コンボボックスA 書類1  分類a 書類2  分類a 書類3  分類b 書類4  分類c コンボボックスB 提出先1  分類a 提出先2  分類b 提出先3  分類b 提出先4  分類c と言う風になっているのですが、 コンボボックスAの書類1を選択したらコンボボックスB と共通の分類の提出先名がコンボボックスに表示したいのです。 書類3を選択すると、コンボボックスBには提出先2、提出先3が表示されるといった感じです。 ACCESS2000を使用しています。 よろしくお願いします。

  • コンボボックス選択によって・・

    質問をご観覧・ご興味を持って頂きありがとう御座います。 現在perlを使ってwebページを勉強しながら作っているものですが、OKWebさんのように まず上下にコンボボックスがあり、上コンボボックスの中のカテゴリーを選択すると、上のカテゴリー内容に乗じて下のコンボボックス内容も変るという仕組みを作りたりたいと思っています。 しかしどのように作るのか皆目検討も付きません。 なにか情報・ご指導・参考などありましたら教えて頂けないでしょうか。 未熟者の私ですがどうぞ宜しくお願いします。

  • コンボボックスの貼りつけ excel

    vba初心者です。excel帳簿を作っております。 科目選択時にリストが28個あるプルダウンを使っておりましたが選択するのが大変だったのでコンボボックスにしたら28個全て表示されるようになり選択が楽になりました。 このコンボボックスのLinkedCellはD4です。 コンボボックスをD4の上に表示してD4セルにピッタリはめ込んでいる感じに見えます。 D4以下150個、D列にコンボボックスを貼りつけたいです。 コピーして貼り付けてもLinkedCellはD4のままですので、貼りつけたコンボボックスのプロパティを150回変えないといけないのかと思うと気が遠くなります。 このコンボボックスを何か登録して、「コードの表示」あたりで何かやれば何とかなるのではないかと思ったのですが、何か手立てがあれば教えてください。 このコンボボックスを同じブックの別のシートにも使いたいと思っております。

  • エクセルVBA コンボBOXの相互連動

    皆さんこんにちは。 エクセル2013を使用しています。 ネットや本では 地方名>都道府県名>市町村名のような 順にコンボボックスで行う絞り込み検索の方法が たくさん載っています。 コンボボックス1を選択しないとコンボボックス2・3の 選択肢は表示されないようなものです。 ですが、私がやりたいのは どのコンボボックスから選択しても 残りのコンボボックスが連動するものを作りたいのです。 おそらくやりたい事はオートフィルターだ!と思ったので 今、私の知りうる数少ない知識を駆使した結果がこれです。 (1)原本Sheetをコピー→コンボ用Sheetを作成 (2)コンボ用SheetのA~C列を列ごとに重複除去をし  除去した内容をE~F列に記載 (3)E~Fの内容をコンボボックス1~3のコントロールにする (4)コンボボックスのどれかを選択すると  そのコンボボックスのTEXTでオートフィルターがかかる、  原本Sheet対応列を絞り込み (5)コンボ用Sheetを削除 (1)~(5)エンドレス・・・みたいなコードでやりたい事に対応出来ましたが 何しろシートのコピー・削除が何回もあるので 重くて重くてとても使い物にはなりません。 どうにか重くならずに同じような作動をするコードはないでしょうか。 このような感じで原本Sheetは作成されております。 [原本Sheet]     A    B    C 1   駅名  顧客名  店舗名 2   ○    △    □ 3   ○    ▲    ■ 4   ◎    △    □ 5   ◎    ▽    ◇ 6   ●     ▽    ◆

  • mysqlからのコンボボックスについて教えてください

    はじめまして。 mysql+php初心者の者ですが、 ご教授をよろしくお願いいたします。 [table 1] id  種類 ---------- 1 野菜 2  果物 3  麺 [table 2] id   key   名前 ---------------------- 1  1 にんじん 2   1 たまねぎ 3   1   ほうれん草 4  2 りんご 5   2   バナナ 6  3 うどん 7   3   ラーメン [table 1]のid と、[table 2]のkeyが 対応するように、連動したコンボボックスを作りたいと思って頑張っています。 コンボボックス1には、[table 1]の、種類が入り コンボボックス2には、[table 1]の種類に連動して、[table 2]の名前が選択できるように したいと思っています。 たとえば、コンボボックス1で「果物」を選択した場合、 コンボボックス2では、「りんご」「バナナ」がコンボボックスに 表示されて選べるようになるようにするです。 単純に、mysqlからセレクトフォームに表示することはできましたが、 連動がどうやればいいのか、色々調べましたが 力不足で分かりませんでした。 コンボボックスを連動させるために、[table2]に「key」のフィールドを加えたので、 改良しようと思っております。 ご教授をよろしくお願いいたします。 環境 ------- WindowsXP mysql4.0 php4.2 Apache1.3

    • ベストアンサー
    • PHP
  • 【Access】サブフォームのコンボボックス連携

    ACCESSで社員の資格情報を入力するシステムを作成したのですが 以下の問題を解決できず困っています。 どうすればいいか お力を貸して頂けないでしょうか? ■問題:メインフォームで別レコードに移動した際 サブフォーム内の連携コンボボックスを更新されない □コンボボックス2の表示項目 1.分類別No 2.資格名ID 3.資格名 3のみを表示していますが、 1つ目のコンボボックス1の数値で 全コンボボックス2の資格名が出てしまいます。 ■フォーム構成 メインフォーム内に以下を設置 1.移動ボタン 2.帳簿サブフォーム □サブフォーム構成 レコード1 コンボボックス1 コンボボックス2 レコード2 コンボボックス1 コンボボックス2 ~~ 最終レコード コンボボックス1 コンボボックス2 ■コントロールソース コンボボックス1:大分類ID コンボボックス2:資格名ID ■テーブル構成 資格名  資格名ID(主キー)  大分類ID  分類別ナンバー(大分類ごとの登録順ナンバー)  資格名   資格大分類  大分類ID(主キー  大分類名 (IT系・運転系など) ■コンボボックス2の値集合ソース(表示項目:資格名) SELECT 資格名.資格名, 資格名.分類別No, 資格名.資格名ID FROM 資格大分類 INNER JOIN 資格名 ON 資格大分類.資格大分類ID = 資格名.資格大分類ID WHERE (((資格名.資格大分類ID)=[Forms]![メインフォーム]![サブフォーム]![コンボボックス1])) ORDER BY 資格名.分類別No; ------------------------------------ サブフォームに記載し効果のなかったVBAコード ’再クエリ Private Sub Form_Current() Dim cntrl As Control If Not IsNull(Me![コンボボックス1]) Then For Each cntrl In Form.Controls If cntrl.ControlType = acComboBox Then cntrl.Requery End If Next cntrl End If End Sub ’ソース更新 Private Sub Form_Current() With Forms!メインフォーム名!サブフォーム名!コンボボックス2 .RowSource = .RowSource End With End Sub ■参考サイト 'サブフォーム内での2つのコンボボックスの連動について 'http://goo.gl/nfvxW '~ '>   コンボボックスAの更新後処理イベントに '> Me!コンボボックスB.Requery '> 'Me.コンボボックスB.RowSource = Me.コンボボックスB.RowSource '数値でコンボボックス選択 'http://goo.gl/ovZ3C 'リストボックスの行を選択するときは、「Selected(n)」を使います 'http://goo.gl/RbsWX 'サブフォームの指定 ' =Forms!フォーム名!サブフォームコントロール名.Form.テキストボックス名 'http://goo.gl/vKxtj

専門家に質問してみよう