請求書テンプレートを作成しようとしていますが、明細行の合計、小計、付加価値税、および合計の入力が自動的に入力されるようにしたいと考えています。これまでに試したことはすべて結果をもたらさなかったようです。そのため、問題を解決するために私の最大の教育リソースに目を向けようと思いました。
これは、私が埋めようとしているページコードの一部です
<table class="appendo" width="100%" border="0" name="item" id="item">
<tr>
<td><input type="text" name="description[]" class="input3" tabindex="11"/></td>
<td width="100"><input type="text" name="quantity[]" class="qtys" tabindex="12"/></td>
<td width="100"><input type="text" name="cost[]" class="costs" tabindex="13"/></td>
<td width="100"><input type="text" name="tot[]" class="tots" tabindex="14"/></td>
</tr>
</table>
<input type="button" name="update" value="Update Totals" />
<table width="200" border="0" name="totals" id="totals">
<tr>
<td width="100">Sub Total</td>
<td width="100"><input name="sub" type="text" class="sub" tabindex="15" readonly="readonly"/></td>
</tr>
<tr>
<td width="100">VAT</td>
<td width="100"><input name="vat" type="text" class="vat" tabindex="16" readonly="readonly"/></td>
</tr>
<tr>
<td width="100">TOTAL</td>
<td width="100"><input name="total" type="text" class="gtotal" tabindex="17" readonly="readonly"/></td>
</tr>
</table>
そして、これは私がこれまでにまとめたスクリプトです
$sumDisplay = $('input#total');
var $sub = 0;
var $vat = 0;
var $total = 0;
function compute()
{
$('#item tr').each(function() {
//get line totals
$sum = 0;
$sum = (
parseFloat($(this).find('.qtys').val())*
parseFloat($(this).find('.costs').val())
);
$(this).find('.tots').val=$sum;
//get sub total
var value = Number($(this).find('.tots').val())
$sub += value; );
//Get VAT
$vat = $sub*1.2;
}
//Write Values
$(this).find('.sub').val=$sub;
$(this).find('.vat').val=$vat;
});
動作していないことを確認したい場合は、フィドルを使用します。
皆さんが助けてくれることを願っています。