javascriptを学習しています。初級者のためご教授のほどお願いします。
<!DOCTYPE html>
<html lang="ja">
<head>
<script>
function kazu(){
var fObj = document.itemlist;
var price1 = fObj.item1.options[fObj.item1.selectedIndex].value;
var price2 = fObj.item2.options[fObj.item2.selectedIndex].value;
var total = parseFloat(price1) + parseFloat(price2);
document.getElementById("total").value = total;
}
</script>
</head>
<body>
<header>
<form action="#" name="itemlist" >
<table>
<tr>
<td>
<select name="item1" onchange="kazu()">
<option value="100">itemA-1</option>
<option value="200">itemA-2</option>
</select>
</td>
</tr>
<td>
<select name="item2" onchange="kazu()">
<option value="1000">itemB-1</option>
<option value="2000">itemB-2</option>
</select>
</td>
</tr>
<tr>
<td name="total">
<input type="text" value="" id="total" />
</td>
</tr>
</table>
</form>
</body>
</html>
上記の内容をfor文を使い動作するようにと思っています。
自分で以下の内容を考えたのですがが動作しません。
以下の内容の問題点を教えいただければと思います。なにとぞよろしくお願いいたします。
function kazu(){
var fObj = document.itemlist;
var len = document.itemlist.length;
for(i=1;i<=len;i++){
var price[i] = fObj.item[i].options[fObj.item[i].selectedIndex].value;
}
var total = parseFloat(price1) + parseFloat(price2);
document.getElementById("total").value = total;
}
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
> 以下の内容の問題点
select が multiple だったら?
<head> の中に肝心の <titele>xxx</title> が無いよ!
<meta charset="utf-8">みたいな文字コード指定が無いよ!
<header>が閉じてないよ!
<tr>が足りないよ!
ie は、どうか知らないけど、FXは、onchangeイベントをform要素で拾えるよ!
function kazu (){
document.getElementById("total").value =
Array.prototype.reduce.call (
document.forms["itemlist"].querySelectorAll ('select[name^="item"] option'),
function add (a, o) { return o.selected ? parseFloat (o.value) + a: a;}, 0);
}
記載ミスのご指摘ありがとうございました。
以後気を付けたいと思います。
回答ありがとうございます。
参考にさせていただき、学習に役立てたいと思います。
No.1
- 回答日時:
一例です。
function kazu(){
var elems = document.forms["itemlist"].elements;
var len = elems.length;
var i, e, total = 0;
for(i = 0; e = elems[i++];) if(e.nodeName=="SELECT") total += parseFloat(e.value);
elems["total"].value = total;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript 1度きりではなく、繰り返し、挙動が変わるようにしていただきたいです。 1 2022/07/03 15:50
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
html selectの内容を初期値に戻す
-
プルダウン 項目が多いので先頭...
-
CSVファイルを読みこみ、プルダ...
-
javascriptでプルダウンメニュ...
-
firefoxでjavascriptが…
-
プルダウンとテキストの連動
-
セレクトの値を取得できない
-
テーブルにおける行(セルにプル...
-
<textarea>にプルダウンを表示...
-
window.openで新しいタブが開か...
-
リロード時もコンボボックスの...
-
SelectのLabelの値を取得するには
-
ラジオボタンとドロップダウン...
-
セレクトメニューの連動、そし...
-
セレクトで選んだ項目を表示さ...
-
Selectボックスの幅を自動で広...
-
UWSCのIE操作でプルダウンを選...
-
リストボックス間で値をコピー...
-
セレクトボックスで現在選択さ...
-
ラジオボタンのチェックが外れ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウン 項目が多いので先頭...
-
Selectの中身をfor文で入れる
-
Selectボックスの幅を自動で広...
-
CSVファイルを読みこみ、プルダ...
-
セレクトを全て選択されていな...
-
jQuery セレクトボックスで選択...
-
UWSCのIE操作でプルダウンを選...
-
html selectの内容を初期値に戻す
-
現在時刻を取得してフォームのs...
-
javascriptでの2つのプルダウン...
-
selectタグに直接onChangeを書...
-
テーブルにおける行(セルにプル...
-
【javascript・PHP】プルダウン...
-
セレクトメニューで選択された...
-
ブラウザの戻るボタンを押した...
-
JQuery selectが反映されない
-
<textarea>にプルダウンを表示...
-
プルダウンで現在の年月日を取...
-
リストボックスの項目の順番を...
-
親ウィンドウのリスト値変更
おすすめ情報