初期値(10としましょう)とA、B、C、Dの値の積である値を計算する必要があります。 2,3,4,5としましょう。jQuery - 値にチェックボックスの値を掛けて計算する
因子の組み合わせは、対応するボックスをチェックしてユーザーが選択する必要があります。問題は、これをフォーム内で独立して何度も繰り返す必要があり、以下の2つのソリューションではこのプロセスを正しく分離できないということです。これらがテキスト値だった場合、私はそうするでしょう。 var $text = $(".result", $section);
基本的に、これらのセクションに数値変数を関連付ける方法はわかりません。また、ボックスのどれもチェックされていなくてもResult
フィールドにこの初期値(10)を持つことは素晴らしいことです。
$(document).ready(function() {
$(".factor-checkbox").click(function(event) {
var $section = $(this).closest(".section");
var total = 10;
$(".factor-checkbox:checked").each(function() {
total *= parseInt($(this).val());
});
$('.result').val(total);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="section">
<label><input type="checkbox" name="A" value="2" class="factor-checkbox">A</label>
<label><input type="checkbox" name="B" value="3" class="factor-checkbox">B</label>
<label><input type="checkbox" name="C" value="4" class="factor-checkbox">C</label>
<label><input type="checkbox" name="D" value="5" class="factor-checkbox">D</label>
<label>Result <input type="text" class="result"></label>
</div>
<div class="section">
<label><input type="checkbox" name="A" value="2" class="factor-checkbox">A</label>
<label><input type="checkbox" name="B" value="3" class="factor-checkbox">B</label>
<label><input type="checkbox" name="C" value="4" class="factor-checkbox">C</label>
<label><input type="checkbox" name="D" value="5" class="factor-checkbox">D</label>
<label>Result <input type="text" class="result"></label>
</div>
パーフェクト!ありがとう!最初からResultフィールドに10を入れる方法はありますか? –
はい、 'value =" 10 "'のような '.result'入力に' value'属性を加えることで初期値としてそこに置くことができます。更新された回答を確認してください。 – curveball
この属性からtotalの初期値を読み取ることはできますか?今ではすべてのエントリーに常に10が必要です。 –