2012-11-28 66 views
2

我正在開發一個Web應用程序,並且想要創建類似發票計算的內容,但是使用子組,因此最後我需要組合總數的結果以及小計。使用jquery進行計算和小計分組

這是我走到這一步:Fiddle

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

最終,我的工作對這樣的事情:

enter image description here

我發現了很多關於發票計算實例但不包括小組或小計。

我希望有人能幫助我一個小例子。

+0

所以有什麼問題?小提琴正在工作... –

回答

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> 

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

哇,這正是什麼即時搜索,現在我不得不添加動態添加輸入和組表格的語法。非常感謝快速幫助:)我張貼我的結果,然後在這裏.. –

+0

很高興它幫助:)隨意標記問題爲答案。 – greener

+0

腳本運行良好,如果表是靜態的並且已經編碼,如果我爲append()添加一個表,計算器將在新字段上工作,只有當我添加一些值然後在靜態表中更改值時。看起來像新的HTML元素不會找到:(你能指出我嗎?我到目前爲止:http://jsfiddle.net/yaMRQ/29/ –