• 締切済み

コンボ内の項目を選択すると・・

だれか教えて頂けませんでしょうか? 下記にソースを書きましたが、 1、2コンボがあり、 1コンボで項目を選ぶと 2コンボで1コンボで選んだ項目に付随する内容の項目を 表示させる方法を教えて下さい。 未熟も者ですがどうぞ宜しくお願いします。 :::::::::::::::::::::::::::::::::::::::::: <BODY> <form method="post" action="mailto:ksuzuki@aeic.co.jp?subject=インターネットお問合せの件" enctype="text/plain" name="omousikomi"> <!-- function c1set(C,n,max,val){ for(i=0;i<max;i++){ if(i<n){ C.cat1_id.options[i].text=val[i*2]; C.cat1_id.options[i].value=val[i*2+1]; } else{ C.cat1_id.options[i].text=""; C.cat1_id.options[i].value=""; } } } function change(C){ v1 = "2カテゴリー選択     "; C.cat1_id.selectedIndex=0 if(C.stage_id.selectedIndex==0){ C.cat1_id.options[0].text=v1; C.cat1_id.options[0].value=""; for(i=1;i<=3;i++){ C.cat1_id.options[i].text = ""; C.cat1_id.options[i].value = ""; } } if(C.stage_id.selectedIndex==1){ val=new Array(v1,"","E-Mail",224,"OS",233,"); c1set(C,3,3,val); } if(C.stage_id.selectedIndex==2){ val=new Array(v1,"","SOHO",264,"インターネットビジネス",265,"); c1set(C,3,3,val); } } // -->

  • aeic
  • お礼率10% (60/582)

みんなの回答

  • leaz024
  • ベストアンサー率75% (398/526)
回答No.2

 前にPerlでの質問の回答が「JavaScriptであれば…」というものだったので、こちらに質問を投げた、というところでしょうか?  だとするなら、Perlの方の質問は締め切っておきましょう。  こういうことがやりたいのでは?と思うサンプルを作ってアップしてみましたので、下記URLで確認してみてください。  もし思うような動きであれば、ソースを表示して解析してください。

参考URL:
http://users.goo.ne.jp/leaz/cooperate-list/
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

項目と説明の対になっている内容は、予め決まっているわけですよね。 であれば、その度に項目を作らなくても良いのではないでしょうか。 ポイントになる部分だけ、ちょっと書いてみました。 <html> <script type="text/JavaScript"> function change(form) { form.sel_2.selectedIndex = form.sel_1.selectedIndex; } </script> <body> <form> <select name="sel_1" onChange="change(this.form)"> <option>項目1 <option>項目2 <option>項目3 </select> <br> <select name="sel_2"> <option>説明1 <option>説明2 <option>説明3 </select> </form> </body> </html>

関連するQ&A

  • メニューの選択項目に応じて、もう1つのメニューの内容を変更する方法

    メニューの選択項目に応じて、もう1つのメニューの内容を変更する方法 2つのコンボがります。 1個目は、メーカーを選択します。 2個目は、機種を選択します。 下記ソースでは、valueの値が取得でいないようです。 (例) makerでドコモを選択したらvalueに1をセット sendwayでドコモ機種(2)を選択したらvalueに2をセット このようなことを実現したいのですが... よろしくお願いします。 <script language="JavaScript"><!-- menuItem = [["ドコモ機種(1)","ドコモ機種(2)"]["ドコモ以外機種"]]; function setMenuItem(n) { len = document.myForm.sendway.options.length; for (i=len-1; i>=0; i--) { document.myForm.sendway.options[i] = null; } for (i=0; i<menuItem[n].length; i++) { document.myForm.sendway.options[i] = new Option(menuItem[n][i],menuItem[n][i]); } } // --></script> <select name="maker" onChange="setMenuItem(this.selectedIndex)"> <option value="1" <?= $val?>>ドコモ</option> <option value="2" <?= $val?>>ドコモ以外</option> </select> <select name="sendway" > <option value="1" <?= $val?>>ドコモ機種(1)</option> <option value="2" <?= $val?>>ドコモ機種(2)</option> <option value="3" <?= $val?>>ドコモ以外機種</option> </select>

  • プルダウン2つで別項目に値を代入したい.その2

    同じような質問ですみません。プルダウン2つで別項目に値を代入する方法のアドバイスを参考にこんなの作ったんですがうまくいかないです。どこがおかしいですか? <html> <script type="text/javascript"> function hoge(){ var v1=document.getElementById('s1').value; var v2=document.getElementById('s2').value; var rslt; if (v1==1 && v2==1) { rslt=36; } else { if (v1==1 && v2==2) { rslt=29; } else { if (v1==1 && v2==3) { rslt=22; } else { if (v1==1 && v2==4) { rslt=14; } else { if (v1==1 && v2==5) { rslt=7; } else { if (v1==1 && v2==6) { rslt=0; } else { rslt='?'; }} document.getElementById('txt').value=rslt; } </script> <body> <select id="s1" onChange="hoge()"> <option value="1">1 <option value="2">2 <option value="3">3 <option value="4">4 </select>   <select id="s2" onChange="hoge()"> <option value="1">1 <option value="2">2 <option value="3">3 <option value="4">4 <option value="5">5 <option value="6">6 </select><p> <input type="text" id="txt" value=""> </body> </html>

  • WebDatabaseのlistから選択項目表示

    HTML5 Web Database でlistから選択した項目を詳細表示したい。詳細一覧detail_b()押下した際、listで選ばれているレコード内容を表示したい。色々試しているのですが・・・どこがおかしいかわかりません。 function load() で list.options[list.options.length] = new Option(row.val2, row.val, row.key1); 項目表示した場合、 function detail_b() で どのようなSELECT文を書けば listで選択された行を指定できるのですか? <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script type="text/javascript"> var db = openDatabase("my_sample3", "", "Sample for my3", 1024*1024); db.transaction(function(tx) { tx.executeSql("create table if not exists storage (key1, val, val2)"); }); function load() { db.transaction(function(tx) { tx.executeSql("select * from storage", [], function(tx, rs) { var list = document.getElementById("list"); list.innerHTML = ""; var rows = rs.rows; for (var i = 0, n = rows.length; i < n; i++) { var row = rows.item(i); list.options[list.options.length] = new Option(row.val2, row.val, row.key1); } }); }); } function detail_b() { var list = document.getElementById("list"); if (list.selectedIndex < 0) { return; } var selected = list.options[list.selectedIndex].value; db.transaction(function(tx) { tx.executeSql("select * from storage where key1 = ?", [selected], function(tx, rs) { var rows = rs.rows; var row = rows.item(0); detail.innerHTML = ""; detail.options[detail.options.length] = new Option(row.val2, row.val, row.key1); }); }); } function remove() { 省略 } function add() { 省略 } </script> </head> <body onload="load()"> <h1></h1> <table border="0"> <tbody> <tr> <td colspan="2"><select id="list" size="5" style="width: 200px"></select></td> <td><button onclick="detail_b()">詳細一覧</button><BR><button onclick="remove()">削除</button></td> <td rowspan="4"><select id="detail" size="5" style="width: 400px"></select></td> </tr> <tr> <td><font face="Times New Roman">キー:</font></td> <td><input type="text" id="key1"></td> <td></td> </tr> <tr> <td><font face="Times New Roman">値:</font></td> <td><input type="text" id="value"></td> <td></td> <td></td> </tr> <tr> <td><font face="Times New Roman">値2:</font></td> <td><input type="text" id="value2"></td> <td><button onclick="add()">追加</button></td> </tr> </tbody> </table> </body> </htm>

    • ベストアンサー
    • HTML
  • 複数のプルダウンメニューの選択項目を変更するには?

    複数のプルダウンメニューを使ってページリンクをさせています。 その際ページリンクと同時に、他のメニューの選択項目を初期値す方法を教えてください。 No.157334で同じような質問があったので、それを参考に以下のように記述してみましたが、 function reSel(c) { for(i=0; i<9; i++){ var s="document.unit.DDList"; var x=s+i; if(x != c){ x.selectedIndex=0; //ココがうまくいきません。 } } } function Li_0(obj){ parent.res.location.href=obj.options[obj.selectedIndex].value; reSel("document.unit.DDList0"); } (以降 Li_8まで同様) <form name="unit" method="post"> <select name="DDList0" size="1" onChange="Li_0(this)"> <option value="help.html" selected> </option> <option value="unit_a.html">AAA</option> <option value="unit_b.html">BBB</option> </select> (以降 DDList8まで同様) です。 どうぞよろしくお願いいたします。

  • 必須項目の回答がない場合、次のページに進まない

    お世話になります。 プログラミング初心者のものです。 JavaScriptを用いて、必須項目(プルダウンメニュー)の回答が全てされていない場合に、次のページへ進まず、アラートが表示されるように設定したいと考えています。 そこで、以下のコードを書いたのですが、 設定する項目が13項目あり、8項目目から13項目目が未回答でも次のページに進めてしまいます。 これだけ量が多くなると、このプログラムだと実現出来ないのでしょうか? どこをどう直せば、改善されるのかを教えていただければ幸いです。 不躾な質問だとは重々承知しておりますが、時間がないため、何卒よろしくお願いいたします。 ●JavaScript <script type="text/javascript"> <!-- function check(){ var flag = 0; // 設定開始(チェックする項目を設定してください) if(document.aboutfande.fande1.options[document.aboutfande.fande1.selectedIndex].value == ""){ flag = 1; } else if(document.aboutfande.fande2.options[document.aboutfande.fande2.selectedIndex].value == ""){ flag = 1; } else if(document.aboutfande.fande3.options[document.aboutfande.fande3.selectedIndex].value == ""){ flag = 1; } else if(document.aboutfande.fande4.options[document.aboutfande.fande4.selectedIndex].value == ""){ flag = 1; } else if(document.aboutfande.fande5.options[document.aboutfande.fande5.selectedIndex].value == ""){ flag = 1; } else if(document.aboutfande.fande6.options[document.aboutfande.fande6.selectedIndex].value == ""){ flag = 1; } else if(document.aboutfande.fande7.options[document.aboutfande.fande7.selectedIndex].value == ""){ flag = 1; } else if(document.aboutfande.fande8.options[document.aboutfande.fande8.selectedIndex].value == ""){ flag = 1; } else if(document.aboutfande.fande.options[document.aboutfande.fande9.selectedIndex].value == ""){ flag = 1; } else if(document.aboutfande.fande10.options[document.aboutfande.fande10.selectedIndex].value == ""){ flag = 1; } else if(document.aboutfande.fande11.options[document.aboutfande.fande11.selectedIndex].value == ""){ flag = 1; } else if(document.aboutfande.fande12.options[document.aboutfande.fande12.selectedIndex].value == ""){ flag = 1; } else if(document.aboutfande.fande13.options[document.aboutfande.fande13.selectedIndex].value == ""){ flag = 1; } // 設定終了 if(flag){ window.alert('選択されていません'); // 選択されていない場合は警告ダイアログを表示 return false; // 送信を中止 } else { return true; // 送信を実行 } } // --> </script> ●HTML(長くなるため最初の2つだけ書いておきます) <h1><span class="daimei"><b>ウォーターベースファンデーション</b></span><span class="honbun">について</span></h1> <form action="tiku.php" method="post" name="aboutfande" onSubmit="return check()"> <p><span class="honbun"> Q1.この商品を買いたいと思いますか?</span>  <select name="fande1"> <option value="1">はい</option> <option value="2">いいえ</option> <option value="" selected>選択してください</option> </select> </p> <span class="honbun"> Q2.この商品にどのような印象を持ちましたか?<br>   もっとも当てはまるものを選択してください</span><br> <p><span class="honbun">   1.この商品を魅力的と感じた</span>  <select name="fande2"> <option value="1">全く当てはまらない</option> <option value="2">ほとんど当てはまらない</option> <option value="3">あまり当てはまらない</option> <option value="4">どちらともいえない</option> <option value="5">やや当てはまる</option> <option value="6">かなり当てはまる</option> <option value="7">非常に当てはまる</option> <option value="" selected>選択してください</option> </select></p>

  • コンボボックスのリンク先にフレームを指定したい

    コンボ1に連動してコンボ2の内容を変更し コンボ2からリンクしているファイルを別フレームに表示したいです。 また、リンク先にアンカーを指定したいです。 宜しくお願いいたします。 以下の設定で試みましたが、NGでした。 ------------------------------------------------ ◆index.html <html> ~省略~ <frameset rows="120,*" border="0" framespacing="0" frameborder="no"> <frame src="header.html" name="head" noresize scrolling="no"> <frame src="data1.htm" name="main" noresize> ~省略~ </html> ------------------------------------------------ ◆header.html <HTML> <HEAD> <META http-equiv="content-type" content="text/html;charset=x-sjis"> <TITLE>連動コンボ</TITLE> </HEAD> <BODY bgcolor="#ffffff"> <P> <FONT size="2">連動コンボ</FONT></FONT><BR> <FORM METHOD=POST name=doublecombo> <P> <!-- --><SELECT name="example" ID="example" onchange="redirect(this.options.selectedIndex)" size="1"> <OPTION SELECTED>選択 <!--group1--> <OPTION>データ1 <!--group2--> <OPTION>データ2 </SELECT><SELECT name="stage2" ID="stage2"> <OPTION SELECTED VALUE="">- <INPUT type=BUTTON name="test" VALUE="適用" ID="test" onclick="go()"><BR> <SCRIPT> <!-- var groups=document.doublecombo.example.options.length var group=new Array(groups) for (i=0; i<groups; i++) group[i]=new Array() group[1][0]=new Option("data1-1","1-1.html")←●1-1.html#page1 のようにアンカーを指定したい group[1][1]=new Option("data1-2","1-2.html") group[1][2]=new Option("data1-3","1-3.html") group[2][0]=new Option("data2-1","2-1.html") group[2][1]=new Option("data2-2","2-2.html") group[2][2]=new Option("data2-3","2-3.html") var temp=document.doublecombo.stage2 function redirect(x){ for (m=temp.options.length-1;m>0;m--) temp.options[m]=null for (i=0;i<group[x].length;i++){ temp.options[i]=new Option(group[x][i].text,group[x][i].value) } temp.options[0].selected=true } function go(){ location=temp.options[temp.selectedIndex].value } //--></SCRIPT> </FORM></BODY> </HTML> ------------------------------------------------ ◆備考 header.htmlのfunction go()~を function go(){window.main.location= ~ にしてもNGでした。

    • ベストアンサー
    • HTML
  • オプションボタン選択でコンボボックス有効

    ExcelVBAでユーザーフォームを作成しているのですが、昨日までうまく動作していたことが、突然動かなくなりました。 オプション1を選択 ↓ コンボボックス1有効  ※他のコンボボックスは無効 ↓ オプション2を選択 ↓ コンボボックス2有効  ※コンボボックス1も含め他のコンボボックスは無効 という感じで動作させたいです。 書いたコードはこんな感じです。 Private Sub OptionButton1_Click () Dim i As Long Dim lastRow As Integer lastRow = Cells(Row.Count, 1).End(xlUp).Row If OptionButton1.Value = True Then OptionButton1.Enabled = True With ComboBox1 If ComboBox1 = "" Then For i = 2 To lastRow .AddItem Worksheets("sheet1").Cells(i, 1).Value Next i End If End With ComboBox1.ListIndex = 0 ComboBox2.Enabled = False ComboBox3.Enabled = False End If End Sub コードの間違いや改善点などありましたら教えて下さい。 よろしくお願いします。

  • テキスト入力後に選択項目を変更する

    ASPでテキスト項目と選択項目(プルダウン)項目の2つがあり、相互に入力内容を反映してもう一方の値を変更するプログラムを作りたいのですが、方法がわかりません。 例) <script language="javaScript"> <!-- function pfncInpChg(){  var frm = document.formas[0];  ▲▲▲▲▲▲▲▲▲▲ } function pfncSelChg(){  var frm = document.formas[0];  frm.inptxt.value = frm.inpSel.options[frm.inpSel.selectedIndex].value; } //--> </script> <input type=text name=inpTxt onChange="pfncInpChg()"> <select name=inpSel onChange="pfncSelChg()">  <option value="01">月</option>  <option value="02">火</option>  <option value="03">水</option>  <option value="04">木</option>  <option value="05">金</option> </select> 選択項目を変更した際にテキスト項目に設定することは出来ます。 逆にテキスト項目に値を入力した時の選択項目のOPTIONを変更する方法がわかりません。 不明な点は▲~▲の部分です。 focus()やselectedではないのは試してみて判りました。 また、表示段階で選択する場合にはOPTIONにselectedを記述する事もわかります。 動的に変更する方法があれば教えていただきたいです。

    • ベストアンサー
    • HTML
  • コンボ(?)ボックスの項目の削除方法

    タイトルどおりの質問なんですが、 コンボ(?)ボックスのある項目を選択した状態で「削除」ボタンを押すことにより その項目を削除する。というプログラムを作成しています。 ちなみにコードは以下のようになっています。 <INPUT TYPE="BUTTON" name="Catdel" VALUE="削除" onClick="deldata();"> <SELECT Name="Option" MULTIPLE SIZE=10 > <OPTION value="01">1</OPTION> <OPTION value="02">2</OPTION> <OPTION value="03">3</OPTION> <OPTION value="04">4</OPTION> <OPTION value="05">5</OPTION> <OPTION value="06">6</OPTION> <OPTION value="07">7</OPTION> <OPTION value="08">8</OPTION> <OPTION value="09">9</OPTION> <OPTION value="10">10</OPTION> </SELECT> function deldata(){ ・・・ ・・・ } この function deldata()の中の処理方法について教えてください。 初歩的な質問と思いますが、よろしくお願いします。

  • セレクトメニューで選択された項目に応じて、別のセレクトメニューの内容を変更する場合について

    アドバイスお願いします。 ページロード時、最初ののセレクトメニューは「国を選択してください」が選択された状態となりますが、次のセレクトメニューが空白になってしまいます。 これを最初のメニューと同じく「国を選択してください」と表示させるには、どうしたらよろしいでしょうか? 【HTML】 <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title>JavaScript</title> <link rel="stylesheet" type="text/css" href="main.css" media="all"> <script type="text/javascript" src="main.js"></script> </head> <body> <form action="./enq.cgi" method="get" id="mainForm" name="mainForm"> <select id="selMain"> <option value="">国を選択してください</option> <option value="jp">日本</option> <option value="usa">アメリカ</option> </select> <select id="selSub">国を選択してください</select> </form> </body> </html> 【main.js】 window.onload = function(){ document.getElementById("selMain").onchange = function(){ var selNo = this.selectedIndex; var selObj = document.getElementById("selSub"); var optionData = [[ ],[ { text:"東京", value:"tokyo"}, { text:"大阪", value:"osaka"}, { text:"名古屋", value:"nagoya"} ],[ { text:"ニューヨーク", value:"ny"}, { text:"ロサンゼルス", value:"la"} ] ]; while(selObj.hasChildNodes()) { selObj.removeChild(selObj.firstChild); } for (var i=0; i<optionData[selNo].length; i++){ selObj.options[i] = new Option(optionData[selNo][i].text, optionData[selNo][i].value); } } } また、質問にありますようなセレクトメニューを実装する場合、JavaScriptとAJAX、どちらが適したものと言えるのでしょうか?