2

私はWebアプリケーションに取り組んでおり、請求書の計算のようなものを作成したいのですが、サブグループを使用しているため、最後にグループ合計とサブ合計の結果が必要です。

これは私がこれまでに得たものです:フィドル

$(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);
    });
})

最終的に、私は次のようなことに取り組んでいます。

ここに画像の説明を入力してください

請求書の計算については多くの例を見つけましたが、グループや小計では見つかりませんでした。

誰かがちょっとした例で私を助けてくれることを望みました。

4

1 に答える 1

1

これがあなたが考えていたものであるかどうかを確認してください:http://jsfiddle.net/yaMRQ/23/

<table class="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>
    <tr>
        <td>Group:</td>
        <td colspan="2" align="right" class="g_total"></td>
    </tr>
</table>
<table class="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>
    <tr>
        <td>Group:</td>
        <td colspan="2" align="right" class="g_total"></td>
    </tr>
</table>
<br/>---<br/>Total: <span id="total"></span>

</ p>

$(function() {
    $(".items").keyup(function(event) {
     var total = 0;
     $(".items").each(function(){
         var gtotal = 0;
         $(this).find(".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))
                 gtotal+=subtotal;
         });
         $(this).find(".g_total").html("EUR "+gtotal); 
         total+=gtotal
     });
     $("#total").html("EUR "+total);
    });
})​
于 2012-11-28T16:14:43.517 に答える