ド素人の初心者ですが、必要に迫られて困っております。過去ログを探してみたのですが、見当たりませんでした。既出でしたら申し訳ありませんが、よろしくお願い致します。
---------
2つの項目からラジオボタンで選択後、
○リンゴ ○バナナ
ドロップダウンでそれぞれ
リンゴの場合→1個・2個
バナナの場合→1本・2本
と表示・選択するようにできますでしょうか。
またさらに、その下にドロップダウンを作成し、
(項目内容:現金・カード)
リンゴ・1個・現金 の場合は100円と表示
リンゴ・1個・カードの場合は105円と表示
リンゴ・2個・現金 の場合は200円と表示
リンゴ・2個・カードの場合は205円と表示
バナナ・1本・現金 の場合は20円と表示
バナナ・1本・カードの場合は25円と表示
...
といった感じにすることはできますでしょうか。
回りくどい感じで大変申し訳ございません。
よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
やり方は色々あると思いますが、とりあえず動くサンプルを作ってみました。
IEとFireFoxで動作確認しました。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS">
<title>ラジオボタンでセレクトリストの表示を変更する</title>
<script type="text/javascript">
<!--
var Price = new Array(2);
Price["apple"]=100;//それぞれの単価
Price["banana"]=20;
var Count = new Array(2);
Count["apple"]="個";//それぞれの数え方
Count["banana"]="本";
var Kind="apple"; //初期値はりんご
var Bias=0; //初期値は現金
function updateKind(f){//種類が変更されたときの処理
Kind=(f.kind[0].checked)? f.kind[0].value : f.kind[1].value ;
var selectForm = f.Number;
for(var i=0;i<selectForm.options.length;i++){
selectForm.options[i].text=(selectForm.options[i].text).charAt(0) + Count[Kind];
}
update(f);
}
function updateNumber(f){//数字が変更されたときの処理(特別することはない)
update(f);
}
function updatePay(f){//支払い方法が変更されたときの処理
Bias=(f.Pay.value=="cash")? 0 : 5; //cardの時+5
update(f);
}
function update(f){//現在の設定で計算をする
f.price.value = Price[Kind] * eval(f.Number.value) + Bias;
}
// -->
</script>
</head>
<body onload="update(document.FORM1)">
<form name="FORM1">
<label><input type="radio" name="kind" value="apple" checked onclick="updateKind(this.form)">リンゴ</label>
<label><input type="radio" name="kind" value="banana" onclick="updateKind(this.form)">バナナ</label>
<select name="Number" onclick="updateNumber(this.form)">
<OPTION VALUE="1">1個
<OPTION VALUE="2">2個
<OPTION VALUE="3">3個
<OPTION VALUE="4">4個
<OPTION VALUE="5">5個
</select>
<br>
<select name="Pay" onclick="updatePay(this.form)">
<OPTION VALUE="cash">現金
<OPTION VALUE="card">カード
</select>
<input type="text" name="price" size="10" value="100" readonly>円
</form>
</body>
</html>
ありがとうございます!こんなにすばらしい回答をいただけるなんて、思ってもみませんでした。
ぜひともすぐに応用させていただきます。
本当に本当にありがとうございました。
またよろしくお願い致します(*^^*)
No.3
- 回答日時:
>onclickで取れないのでonchangeを利用する手もあります
ryk1234さんの言われてる通りですね。ご指摘ありがとうございます。
自分でも指摘を・
>selectForm.options[i].text=(selectForm.options[i].text).charAt(0) + Count[Kind];
は、個数が1桁であることを想定しています。selectのoptionの数があらかじめ判っているから決め打ちでもいいのでしょうが、通常2桁以上の場合も考慮するべきです。
上記の部分を
var len;
len = selectForm.options[i].text.length;
selectForm.options[i].text=(selectForm.options[i].text).substr(0,len-1) + Count[Kind];
に置き換えて下さい。
No.2
- 回答日時:
BLUEPIXYさんご提示のサンプルで動作すると思いますが1点だけ…
キーボード操作でリストボックスの値を変更した場合はonclickで取れないのでonchangeを利用する手もあります
横槍失礼致しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 関数を教えてください。 2 2023/08/01 10:59
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- C言語・C++・C# C言語初心者です、、、お助けください 2 2023/03/14 20:08
- クレジットカード 楽天カードのポイント付与は利用ごとか月額合計に対して計算をするのかどっちでしょうか? 4 2022/11/30 15:48
- Excel(エクセル) IF 関数で「〇〇 という文字を含む場合」の分岐処理で表示された数字はSUMで数字集計できますか? 3 2022/08/02 16:29
- その他(ギャンブル) 4年に1度のワールドカップ!!せっかく見るから宝くじ買って見ようと思います!予想を手伝って!! 2 2022/11/09 15:27
- その他(IT・Webサービス) google サイトの目次表示について 1 2023/06/17 23:24
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- 所得税 どなたかこの問題わかる方教えてください。よろしくお願いします。 所得税の計算体系を示したのち、所得税 3 2023/01/13 16:04
- その他(IT・Webサービス) $で表示された額を振り込む方法。 通販で支払いたいのですが、$で表示された額を日本円で振込む方法を教 1 2022/08/07 21:21
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プルダウン 項目が多いので先頭...
-
Selectボックスの幅を自動で広...
-
セレクトを全て選択されていな...
-
リストボックスの項目の順番を...
-
html selectの内容を初期値に戻す
-
javascriptでの2つのプルダウン...
-
JQuery selectが反映されない
-
HTMLコンボボックスへの項目追加
-
selectメニューのselectedの位...
-
jQuery セレクトボックスで選択...
-
複数のselectボックスの動的リンク
-
jspに組込んだJavaScript でjava文
-
セレクトメニューの連動 multip...
-
教えて!gooの新規に質問する際...
-
javaScriptで連動セレクトメニュー
-
プルダウンとテキストの連動
-
複数のプルダウンの連動とリンク
-
onFocusOutが複数回呼ばれる!
-
CGIフォームでのformタグとjava...
-
Selectの中身をfor文で入れる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウン 項目が多いので先頭...
-
Selectの中身をfor文で入れる
-
Selectボックスの幅を自動で広...
-
CSVファイルを読みこみ、プルダ...
-
セレクトを全て選択されていな...
-
jQuery セレクトボックスで選択...
-
UWSCのIE操作でプルダウンを選...
-
html selectの内容を初期値に戻す
-
現在時刻を取得してフォームのs...
-
javascriptでの2つのプルダウン...
-
テーブルにおける行(セルにプル...
-
selectタグに直接onChangeを書...
-
【javascript・PHP】プルダウン...
-
セレクトメニューで選択された...
-
ブラウザの戻るボタンを押した...
-
JQuery selectが反映されない
-
<textarea>にプルダウンを表示...
-
プルダウンで現在の年月日を取...
-
リストボックスの項目の順番を...
-
親ウィンドウのリスト値変更
おすすめ情報