お世話になります。よろしくお願いいたします。
セレクトボックスを変更すると、頭のテキストボックスの値が変更するようなホームページを作りたいと思っています。(下:画面例)
--------------------------------------
カテゴリーA
[OK] 商品A1 配送方法:[ 飛行機 5日 ▼]
[NO] 商品A2 配送方法:[ 船 20日 ▼]
[NO] 商品A3 配送方法:[ トラック9日 ▼]
カテゴリーB
[NO] 商品B1 配送方法:[ 船 20日 ▼]
[NO] 商品B2 配送方法:[ トラック9日 ▼]
[OK] 商品B3 配送方法:[ 飛行機 5日 ▼]
--------------------------------------
データが1つだけの場合には、
onChageを使って、
<html><head>
<title>テスト</title>
<script language="JavaScript">
<!--
function hantei(){
var idx = document.f1.p1.selectedIndex;
var c1 = eval(document.f1.p1.options[idx].value);
if ( c1>10 ) {
document.f1.r1.value = "NO";
} else {
document.f1.r1.value = "OK";
}
}
// -->
</script>
</head><body>
<form name="f1">
<hr>
判定:
<input size="10" type="text" name="r1"><br>
<hr>
選択:
<select name="p1" onChange="hantei();">
<option value="5" selected>飛行機</option>
<option value="20">船</option>
<option value="9">トラック</option>
</select>
</form>
</body>
</html>
のように実現するところまではなんとか理解できたのですが、
ループさせて、上記のp1,r1,f1を各データ毎にp1,p2,p3...r1,r2,r3...f1,f2,f3...というように変化させた場合に
引数をhantei()に渡して、変数として処理する必要があると思うのですが、
どうにもうまくいきません。
お詳しい方がいらっしゃいましたら、教えていただけないでしょうか?
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
質問の内容がイマイチよくわかりませんが、今は1個だけどセレクトを複数にした場合の処理の分け方をお聞きなのでしょうか?
であれば話は簡単で、hantei();のところに引数を入れてhanteiの中で引数を評価して処理分けするか、hantei2()のようにそれぞれ必要な数だけ別の関数を用意して、それぞれ別個に評価するかのいずれかで出来ると思いますが・・。
私の解釈が間違ってたらごめんなさい。
この回答への補足
ご回答ありがとうございます。また、質問がわかりにくく、申し訳ございません。
補足説明させていただきますと、
<% for (int a=0;a < 5; a++) { %>
カテゴリー
<% } %>
<% for (int b=0;b < 3; b++) { %>
<INPUT READONLY type="text" name="<%= "kekka"+b %>">
<SELECT name="<%= "m"+b %>" onChange="hantei('<%= "f"+a %>','<%= "p"+b %>','<%= "r"+b %>');">
<OPTION value="4" SELECTed>飛行機 5日(標準)</OPTION>
<OPTION value="14">船 20日</OPTION>
<OPTION value="14">トラック 9日</OPTION>
<% } %>
<script language="JavaScript">
<!--
function hantei(Hfa,Hpb,Hrb){
var idx = document.Hfa.Hpb.selectedIndex; <---A
var c1 = eval(document.Hfa.Hpb.options[idx].value);<---B
if (c1>10) {
document.Hfa.Hrb.value = "NO" ;
} else {
document.Hfa.Hrb.value = "OK" ;
}
}
//-->
</script>
という感じでコードを書いたのですが、
A,Bのところで、うまく引数を認識できないのです。
よろしくお願いいたします。
ご回答、大変にありがとうございます。
実は、おしえてBPを利用するのははじめてでして、とても便利で大変に感謝しております。
ありがとうございました。
なお、「この回答への補足」で、
<INPUT READONLY type="text" name="<%= "kekka"+b %>">
と書かれているところは、正しくは、
<INPUT READONLY type="text" name="<%= "r"+b %>">
です。訂正してお詫び申し上げます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- JavaScript 電車の運賃を出すプログラムを作っています。 2 2022/06/22 09:36
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プルダウン 項目が多いので先頭...
-
html selectの内容を初期値に戻す
-
JavaScriptで特定csvファイルを...
-
Selectボックスの幅を自動で広...
-
プルダウン選択の連動
-
プルダウンとテキストの連動
-
javascriptでの2つのプルダウン...
-
CSVファイルを読みこみ、プルダ...
-
jQuery セレクトボックスで選択...
-
JQuery selectが反映されない
-
<textarea>にプルダウンを表示...
-
現在時刻を取得してフォームのs...
-
【javascript・PHP】プルダウン...
-
セレクトの値を取得できない
-
正規表現で複数マッチ条件で悩...
-
マウスをブラウザの外に出した...
-
<JavaScript>tableタグを入力不...
-
return trueとreturn falseの用...
-
hiddenのvalueの値を変えたい
-
【jsp/Java】チェックボックス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウン 項目が多いので先頭...
-
Selectボックスの幅を自動で広...
-
jQuery セレクトボックスで選択...
-
Selectの中身をfor文で入れる
-
html selectの内容を初期値に戻す
-
CSVファイルを読みこみ、プルダ...
-
JQuery selectが反映されない
-
セレクトの値を取得できない
-
セレクトを全て選択されていな...
-
セレクトメニューで選択された...
-
ブラウザの戻るボタンを押した...
-
javascriptでselectボックスの<...
-
リストボックスの項目の順番を...
-
現在時刻を取得してフォームのs...
-
onFocusOutが複数回呼ばれる!
-
セレクトボックスで現在選択さ...
-
【javascript・PHP】プルダウン...
-
document.form で nullまたは...
-
プルダウンで現在の年月日を取...
-
onchange等のイベントハンドラ...
おすすめ情報