-4

注文フォームの各行には、数量、価格、合計の 3 つのフィールドがあります。

数値を変更すると小計が計算され、合計も計算される関数を作成するにはどうすればよいですか?

誰でも方法を提案できますか?

4

1 に答える 1

0

価格または数量が更新されたときに、新しい数量と価格を取得して合計列を更新できるように、各行にリスナーを追加する必要があります。

jQuery では、次のようなものです。

$('.row').on('change', function() {
    var quantity = $('.quantity', this).val(), // get the new quatity
        price = $('.price', this).val(), // get the new price
        total = price*quantity;
    $('.total', this).val(total);  //set the row total

    var totals = $.map($('.row .total'), function(tot) {
        return tot.val(); // get each row total into an array
    }).reduce(function(p,c){return p+c},0); // sum them
    $('#total').val(totals); // set the complete total
});

rowこれは、各注文フォームの行コンテナに classがあり、各数量に class がありquantity、各行の合計に class がtotalあり、注文フォームの合計に idがあることを前提としていtotalます。

于 2012-10-08T17:42:52.880 に答える