0

各行に複数の入力がある巨大な注文フォームがあります (製品ごとに異なるバリエーション)。

入力を反復処理し、値を合計して、製品の合計ユニット数を取得します。

$('input', $tr).each(function() { // iterate over inputs
    units += Number($(this).val()) || 0; // parse and add value, if NaN then add 0
});

これは、通常の入力で非常にうまく機能します。

一部の製品は 10 の倍数 (10 個、20、30、...) でしか入手できないため、jQueryUI Spinner を step オプションと共に使用しました。ユーザーはスピナーを使用して有効な値を挿入することしかできません。

<input class="spinner" name="[ean-code] readonly>

var spinner = $('.spinner').spinner({
    min: 0,
    step: 5
});

残念ながら、これは上記のコードでは機能せず、まだ修正する方法が見つかりません...

続行する方法はありますか..?ありがとうございました!

4

1 に答える 1

0

通常の入力とスピナーが混在するこの例は、私にとってはうまく機能します。

ここにJavascriptコード:

$(function() {
    $(".spinner").spinner({
        min:0,
        step:5
    });

    $("#calculate").on("click", function() {
        var units = 0;

        $('input').each(function() {
            units += Number($(this).val()) || 0;
        });

        alert(units);
    });
});

そしてここにHTMLコード:

<input class="spinner" readonly>
<input type="text">
<button id="calculate">Sum values</button>

name="[ean-code]ビットが問題の原因ではないですか? そこの引用符を閉じていません。

于 2016-07-19T12:00:46.980 に答える