一連の選択メニューを使用して、jQuery でライブ価格見積もりフォームを作成しています。以下のコードを思いつきました。これは、各選択メニューからデフォルト値を取得し、それらを一緒に追加します。
$(document).ready(function(){
$('select > option:selected').each(function() {
var value = $(this).attr('label');
total = parseFloat(total) + parseFloat(value);
total = total.toFixed(2);
});
printTotal(total); // prints the total price
});
唯一の問題は、これがページの読み込み時にのみ機能することです。いずれかの選択メニュー (6 つあります) で新しい値が選択されるたびに価格が更新されるようにしたいと思います。
$("select").change(function () { ... }をトリガーに追加しようとしましたが (サンプルコード hereに示すように)、選択メニューごとにすべての値が追加されます (つまり、合計は本来あるべきものの 6 倍です)。
ドキュメントを検索しましたが、使用するイベントがわかりません。誰でも助けることができますか?
役立つ場合の HTML サンプル:
<select id="colors">
<option label="25.00" value="XYZ">1 color</option>
<option label="50.50" value="ABC">2 colors</option>
<option label="75.75" value="MNO">3 colors</option>
</select>