1

請求書の数量、単価、小計などのフィールドを含むフォームがあります。ループして各入力フィールドの小計を取得し、最終的に小計の合計を取得したいと考えています。JQueryでそれを行うにはどうすればよいですか? ありがとう。

私のコード:

$(document).keyup(function(event) {
    var sub_total = 0;
     $("#items .targetfields").each(function() {
         var qty = parseInt($("#quantity").val());
         var rate = parseInt($("#rate").val());
         $(".subtotal").val(qty * rate);
     });
});
4

1 に答える 1

3

あなたのHTMLの一部を修正しました(重複したIDを使用しないでください)

<table id="items">
    <tr class="targetfields"> 
        <td><input type="text" name="quantity" class="quantity" /></td>
        <td><input type="text" name="rate" class="rate" size="5" /></td>
        <td><input type="text" name="sub_total" class="subtotal" /></td> 
    </tr> 
    <tr class="targetfields"> 
        <td><input type="text" name="quantity" class="quantity" /></td>
        <td><input type="text" name="rate" class="rate" size="5" /></td>
        <td><input type="text" name="sub_total" class="subtotal" /></td> 
    </tr> 
</table>

total: <span id="total"></span>
​

</p>

そして、ここにjsがあります

$(function() {

    $("#items").keyup(function(event) {
     var total = 0;
     $("#items .targetfields").each(function() {
         var qty = parseInt($(this).find(".quantity").val());
         var rate = parseInt($(this).find(".rate").val());
         var subtotal = qty * rate;
         $(this).find(".subtotal").val(subtotal);
         if(!isNaN(subtotal))
             total+=subtotal;
     });
     $("#total").html(total);
    });

})​

ここでライブを見る

于 2012-07-26T13:36:04.023 に答える