0

別の入力ボックスに合計を計算するいくつかの input type=""text" ボックスを含むフォームを作成しました。

このライブ検証 ( Web サイト) を使用して、11 番目のボックスが設定された金額を超えていないことを確認したいと思います。問題は、3 番目のボックスが読み取り専用のボックスであるため、変更されているボックスをクリックしない限り、他の 2 つのボックスによる変更が登録されないことです。

とにかくそれをクリックして変更することでこれを行うことはありますか私が取り組んでいるコードはここにあります

<form onsubmit="return false;" id="frmCreateCheckboxRange" method="post" action="">
<fieldset>
    <legend>Calculation Examples</legend>
    <div id="formContent">

        <p id="ex-sum">
            The Calculation plug-in can parse various DOM elements. From normal
            <code>div</code> and <code>span</code> tags to all form field elements.
        </p>

        <p>
            Numbers:

            <input type="text" size="2" value="0" name="sum_1">
            <input type="text" size="2" value="0" name="sum_2">
            <input type="text" size="2" value="0" name="sum_3">             
            <input type="text" size="2" value="0" name="sum_4">
            <input type="text" size="2" value="0" name="sum_5">
            <input type="text" size="2" value="0" name="sum_6">
            <input type="text" size="2" value="0" name="sum_7">
            <input type="text" size="2" value="0" name="sum_8">
            <input type="text" size="2" value="0" name="sum_9">
            <input type="text" size="2" value="0" name="sum_10" id="sum_10">
            &nbsp;&nbsp;
            Sum:
            <input type="text" readonly="readonly"  size="2" value="" id="totalSum" name="totalSum">

            <script type="text/javascript">
        var totalSum = new LiveValidation('totalSum');
        totalSum.add(Validate.Numericality, { maximum: 10 } );
      </script>  
            (Change the values for dynamic calculations.)



        </p>


</fieldset>

プロジェクト自体へのリンクはこちら

助けてくれる人に感謝します。

4

1 に答える 1

1

3番目のボックスは読み取り専用のようには見えないので、11番目のボックスを意味していると思いますか?

計算が行われていないので、計算を追加しました。実行している計算の合計が特定の値を超えているかどうかを確認するために検証プラグインが必要になる理由を、私は一生理解していません。

$(function() {
    $('input[name^="sum_"]').on('change keyup', function() {
        var value = 0,
            max = 100; //set a max value
        $('input[name^="sum_"]').each(function() {
            value += parseInt(this.value, 10);
        });
        if (value < max) $("#totalSum").val(value); //check if over max value
    });
}​);​

フィドル

于 2012-08-18T09:22:37.497 に答える