ID などを使用して入力が正しくレイアウトされたフォームがあります。フォーム変数を計算するために小さな jQuery 関数をデプロイしました。本質的には、合計 VAT を計算してから、総計を計算したいと考えています。
コード例はhttp://forum.jquery.com/topic/calculation-on-form-fieldsから取得したもので、問題なく動作します。ただし、VAT の乗算/除算は機能しますが、加算によって非常に奇妙な結果が得られます。
データ入力例:
siteFee = 3000 qty
= 1
vat = 20
VAT 関数 (a * b * c) /100
は OK を計算し、正しい 600 を返しますが、grandTotal は 3000611.6659999999999 になり、あまり意味がありません。値を加算するのではなく、値を連結しようとしているように見えますが、それも実際には発生していません!.
jQuery コード:
<script>
$(document).ready(function() {
function compute() {
var a = $('#siteFee').val();
var b = $('#qty').val();
var c = $('#vat').val();
var d = $('#incVAT').val();
var totalVAT = (a * b * c) / 100;
var grandTotal = a + d;
$('#incVAT').val(totalVAT);
$('#total').val(grandTotal);
}
$('#siteFee, #qty, #siteFeeID, #vat').change(compute);
});
</script>
#siteFeeID
これは、Ajaxプルを実行して正しい値を取得する別のフォーム変数にすぎないことに注意して#siteFee
ください。
どんな指針も素晴らしいでしょう。
乾杯ニック