0

次の関数を使用して、入力から値を取得し、固定値から金額を差し引きます。これは、ユーザーが画面上の数字パッドをクリックしているときに発生します。

function totalFocusOut(elem){
    var subTotal = $(elem).parent().parent().find('.total-due').val();
    var paidAmount = $(elem).val();
    var balanceAmount = parseFloat(subTotal) - parseFloat(paidAmount);
    $('.final-value').html(balanceAmount.toFixed(2));
}

関数は、次の関数によってトリガーされます

$('.amount').blur(function(){
    if($(this).val() != ""){
        totalFocusOut($(this));
    }
});

関数が呼び出されたとき、ユーザーが入力した最初の値は減りません! 2 番目の値が入力されると、bt は最初の値を減らし始めます!

たとえば、ユーザーは最初に 6 番のボタンをクリックします。次に7番ボタン。理論的には、関数は最初に金額から 6 を減らし、次に金額から 67 を減らす必要があります。金額は固定されており、更新された金額を別の変数に保存します。関数で最初の値を減らし、次に 2 番目の値を減らすにはどうすればよいですか。

ありがとうございました。

これはHTMLコードです

<div id="settle-cash">
    <div id="settlement-cash">
        <div id="input-div">
            <label for="table-number">Table No</label>
            <input class="table-number" placeholder="Table Number" type="text"></text>
        </div>
        <div id="input-div">
            <label for="room">Room No</label>
            <input class="room" placeholder="Room Number" type="text"></text>
        </div>
        <div id="input-div">
            <label for="room">No of Guests</label>
            <input class="num-of-guests" placeholder="Number of Guests" type="text"></text>
        </div>
        <div id="input-div">
            <label for="total"">Total</label>
            <input class="total" placeholder="Total" type="text"></text>
        </div>
        <span style="padding-left: 16px">Discount Type:</span>
            <input type="radio" id="dis-percentage" name="discount-type" checked="checked" value="percentage">Percentage</input>
            <input type="radio" id="dis-amount" name="discount-type" value="amount">Amount</input>
        <div id="input-div">
            <label for="discount">Discount</label>
            <input class="discount" placeholder="00.00" type="text"></text>
        </div>
        <div id="input-div">
            <label for="total-due">Total Due</label>
            <input class="total-due" placeholder="Total Due" value="Total Due" type="text"></text>
        </div>
        <div class="balance-section">
            <span class="balance">Balance</span>
            <span class="final-value"></span>
        </div>
    </div>
    <div id="amount">
        <input class="amount" placeholder="Enter Amount" type="text"></text>

        <!-- Onscreen Number Pad -->
        <div id="number-pad">
            <div class="metal linear num-button">
                <span>1</span>
            </div>
            <div class="metal linear num-button">
                <span>2</span>
            </div>
            <div class="metal linear num-button">
                <span>3</span>
            </div>
            <div class="metal linear num-button">
                <span>4</span>
            </div>
            <div class="metal linear num-button">
                <span>5</span>
            </div>
            <div class="metal linear num-button">
                <span>6</span>
            </div>
            <div class="metal linear num-button">
                <span>7</span>
            </div>
            <div class="metal linear num-button">
                <span>8</span>
            </div>
            <div class="metal linear num-button">
                <span>9</span>
            </div>
            <div class="metal linear num-button">
                <span>0</span>
            </div>
            <div class="button del metal linear">
                <span>Del</span>
            </div>
            <div class="button settle metal linear">
                <span>SETTLE</span>
            </div>
            <div class="clear"></div>
        </div>
    </div>

</div>
4

2 に答える 2

1

JQueryコードに問題はないようで、完全に問題ありません。デモを確認

$('.amount').blur(function(){
    if($(this).val() != ""){
        totalFocusOut($(this));
    }
});

あなたは間違っていてHTML、エラーがいっぱいです。それを修正する必要があります。

<input class="discount" placeholder="00.00" type="text"></text>

する必要があります

<input class="discount" placeholder="00.00" type="text"/>

<label for="total"">Total</label>

する必要があります

<label for="total">Total</label>
于 2013-07-08T11:19:11.183 に答える