• ベストアンサー

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

プルダウン項目を2つ選択し,その2つの値によって直ぐ下にあるテキスト項目に値を設定するプログラムを作りたいのですが,javaは初心者でなかなかうまくできません。(例:1と1なら50,1と2なら47みたいな…)onChangeを利用するのはなんとなく分かるのですが…非常に困ってます。誰か助けて下さい。

  • h0130
  • お礼率87% (7/8)

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

結果の値を計算するロジックが不明ですが、とりあえず、方法としてはこんな感じ? 計算部分は、やりたい内容にあうように変えてください。 <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=50; } else { if (v1==2 && v2==2) { rslt='others'; } else { rslt=47; }} document.getElementById('txt').value=rslt; } </script> <body> <select id="s1" onChange="hoge()"> <option value="1">1<option value="2">2 </select>   <select id="s2" onChange="hoge()"> <option value="1">1<option value="2">2 </select><p> <input type="text" id="txt" value=""> </body> </html>

h0130
質問者

お礼

まさにこの通りです。助かりました。ありがとうございます!

h0130
質問者

補足

またまたすみません。こんなの作ったんですがうまくいかないです。どこがおかしいですか? <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>

その他の回答 (1)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

ANo.1です。 スクリプトでは{}は対になっていますので、対応していなければなりません。ご提示の例では「{」が13個、「}」が9個なので、構文として解釈できないということになっています。 適切な場所に、}を追加することで、動作するものになりますよ。 条件判定が多くなるようなら、if文の羅列よりはもう少し他の方法を考えたほうが良いかも。

h0130
質問者

お礼

}付けたら動きました。他の方法…自分はまだ全然知識がないので羅列は気持ち悪いですがこれでやってみます。二度も質問に答えていただきありがとうございました。

関連するQ&A

  • プルダウンで別項目に値を代入したい(HTML SELECT)

    ホームページのプルダウン項目を選択すると直ぐ下にあるテキスト項目に値を設定するプログラムを作りたいのですが上手くいきません。 HTMLのSELECT句でonchange属性に記述するのは分りますが、その場合にはjavascriptで記述(例:onchange="fncSet();"等)します。 下記は記述を省略しましたが、option項目はDBのテーブルから読み込んでセットしています。 <select name=sel onchange="???">  <option value=" "> </option>  <option value="1">はい</option>  <option value="2">いいえ</option> </select> <input type=text name=txt value=""> この場合にselのonchangeで選択した項目の値をtxtに設定するにはどうすればいいのでしょうか? OS   :WIN2K ブラウザ :IE6 プログラム:HTML(asp,vbscript,javascript)

    • ベストアンサー
    • HTML
  • プルダウンメニューの中の値を飛ばしたいです。

    こんばんは。 いつもお世話になっております。 Aテキストから持ってきたデータをプルダウンで 表示させ、プルダウンを選択された値でBテキストや Zテキストの中身を表示させる、という動きがしたいのです。 過去ログで探してみたのですが、ジャバスクリプトを 使えば可能っぽい、という所までしかわからず途方に くれています。 プルダウンメニュー選択後、「選択」ボタンを押した 場合でのB~Zテキストのデータ表示は出来るのですが プルダウン選択のみで、という部分が出来ずに困っています。 試しに書いたスクリプトは下記↓です。 <SELECT NAME=\"keyname\" onChange=\"navigate('keyname.cgi?param='this.selectedIndex);\"> $i=$start; foreach $line (@alllines) { ($keyname,$name) = split(/\,/,$line); <OPTION VALUE=\"$keyname\">$name</OPTION> "; $i++; } Aテキストの値を、プルダウンで表示される事はされるのですが、 VALUE=\"$keyname\"の値が、keyname.cgiへ渡って くれないのです。 どうかご指導よろしくお願い申し上げます。

    • ベストアンサー
    • Perl
  • プルダウン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>

  • プルダウンメニューの利用

    htmlのプルダウンメニューを使用した値計算のインタフェースを作成したいと思っています。 プルダウンメニューに設定するメニュー項目に値を設定し、 onChangeを使用して、その値だけをPHPプログラムに渡すようにしたいのですが、 JavaScript部分をどのように書けばいいのか判りません。 どなたかご教授お願いいたします。 <form name="formtest" action="test.php" method="post"> <table> <tr> <th>カテゴリ*</th> <td> <SELECT NAME="iPlanet" onchange=""> <OPTION VALUE="9" selected>初期値 <OPTION VALUE="0">サンプル1 <OPTION VALUE="1">サンプル2 </SELECT> </td></tr> </table> </form> onchangeでValueの値をPHPに送りたいのです。 よろしくお願いします。

  • プルダウンリストを別セルの値によって変える。

    あるセルにプルダウンリストを設定したいのですが、表示させるリストを同行の別セルの値によって変更したいのですがいい方法があるでしょうか? 例)参照セル   A列 → 1,2,3のいずれか数値が事前に入力されている。   プルダウン  B列 → A列値が1 or 2であればリストとして停止or残す の2値を選択。               B列値が3であれば削除or残すの2値を選択。  よく2つのプルダウンリストを連動させる方法は検索でヒットしますが、上記の様な方法がわかりません。わかる方ご教示願います。

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

    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
  • プルダウンメニューで、ボタンを使わない方法

    PHPのプルダウンメニューで、ボタンを使わずに選択を実行するにはどうしたら良いのでしょうか? (javaのonchangeの様に出来ればと思います) 皆様の知識を、どうぞお貸し下さいませm(__)m

    • 締切済み
    • PHP
  • プルダウンとテキストの連動

    お世話になります。プルダウン1を選択すると、プルダウン2の内容が切り替わり、さらにプルダウン2を選択すると、横のテキストフィールド内にテキストが入る(プルダウン2で選択した項目の説明)というようにしたいのです。プルダウン1をえらぶと2の項目がかわる、まではできたのですが、次のテキスト変更がわかりません。プルダウン3として、そこにテキストを表示させようかと思ったのですが、やはりテキストフィールドにしてほしいといわれてしまいました。。。わかりにくい説明ですみませんが、参考になるサイトなどご存じでしたら教えてください。どうかよろしくお願い致します。

  • ロード中にプルダウンを変更付加にしたい(IE6)

    プルダウン(<select>)のonchangeイベントに処理を仕込んだ画面があります。 この画面がロードされる途中でユーザがプルダウンの値を変更するとonchangeイベントに仕込んだ処理が正しく動作しないので、画面がロードされるまでプルダウンは触れないように制御したいと思っています。 onchangeイベント処理の中でロード中かどうかを判定し、ロード中なら処理を行わないようにするだけだとプルダウンの値が変更されたままとなってしまうのでデフォルト選択項目に選択しなおす処理まで行う必要があり、もっとスマートな方法がないものかと思案しているところです。 理想は、プルダウンをクリック・ダブルクリックしても無反応にしたいと思っています。 前提条件としては、 ・ブラウザは生きた化石のIE6 ・onchangeイベントの処理で対応する方法は採用できない。 ・ロード中にプルダウンをdisableにするような方法は採用できない。 ・メッセージを表示して変更を阻止するような実装は採用できない。 ロード中にプルダウンを触れないようにするするよい方法はないものでしょうか。 お知恵をお貸しください。

  • EXcelでプルダウンをつくかって別シートに!

    Excelでプルダウンにして、特定の項目で別シートにリンクさせたい。 セル上にプルダウンの設定をして、項目を数種類入れます。 選択されたある項目で別シートに移ってそこで入力をしたい。 どのようにしたらいいのでしょうか?

専門家に質問してみよう