0

クリック機能の実行時に値を加算する際に問題があります。

シンプルなラジオボタンがあります:

<input type="radio" name="product1" class="price" value="4" /> 4
<input type="radio" name="product2" class="price" value="6" /> 6

クリックしたときに値を加算したい。明らかに、クリックで値を取得できますが、それらを合計する方法がわかりません。

$('.price').click(function() {
    price = $(this).val();
}

わかりました、別の問題です。

次のような 2 つの個別のクリック関数があるとしたらどうでしょう。

<input type="radio" name="product1" class="price" value="4" /> 4
<input type="radio" name="product2" class="price" value="6" /> 6

<input type="radio" name="product1" class="number" value="3" /> 3
<input type="radio" name="product2" class="number" value="7" /> 7

$('.price').click(function() {
    price = $(this).val();
}

$('.number').click(function() {
    number = $(this).val();
}

.price ラジオと .number ラジオの値を合計するにはどうすればよいですか? その上、ラジオボタンのグループに関係なくすべての値を追加するのではなく、それぞれから1つの値のみを追加できることを確認してください?

4

2 に答える 2

2

試す

var price = 0;

$('.price').click(function() {
    price += parseInt($(this).val(), 10);
}
于 2012-05-02T21:36:05.150 に答える
0

価格を表示/選択するために使用される要素に関して質問を理解しているとは思わないので、役立つことを願っていくつかのヒントを追加します。

指定された名前 (例: "product1") のすべてのラジオ ボタンを選択するには、次のようにします。

$('input:radio[name="product1"]')

チェックされているgivan名のすべてのラジオボタンを選択するには(1つしか存在できません):

$('input:radio[name="product1"]:checked')

名前に関係なく、オンになっているすべてのラジオ ボタンを選択するには:

$('input:radio:checked')

入力要素の jQuery コレクション内のすべての値 (数値として解析可能) を合計する関数:

function sumValues($inputs) {
    var sum = 0;
    $inputs.each(function () { sum += +this.value; });
    return sum;
};

ハンドラーは次のようになります (適切なセレクターを挿入します)。

$(<whatever-triggers-recalc>).click(function() {
    // change selector to the one that selects the radios you need summed
    var sum = sumValues( $('input:radio[name="product1"]') );
    // here, you have your sum
});

(イベントで)合計を更新したくない場合は、毎回再計算する必要があります。

サーバーに送信される情報を識別するのに十分な場合はclasses、属性で十分です。name

これらがお役に立てば幸いです。

于 2012-05-02T22:25:52.367 に答える