1

事前警告、私は JavaScript を初めて使用しますが、計算が既に記述されている場合に計算が行われることは理解できます。問題は自分自身の記述です。私たちのウェブサイト用のオンライン税計算機を作成しようとしています。作業の基礎を見つけましたが、計算が正しくなるように更新する必要があります。

目的:
ユーザーは総収入を入力し、[計算] ボタンをクリックします。結果には、Tax Payable、Medicare Levy、そして最後に純利益が表示されます。ネット = グロス - 税金 - メディケア。

現在地:
正しい値に更新した税計算を提供するコードを見つけました。ただし、現在すべての税額区分に適用されているメディケアの値 (1.5%) は正しくありません。実際には、これにも 3 つの異なるレベルがあります。

2 つの計算をまとめて総収入から差し引いて純結果を得る方法がわかりません。最終的な計算を行うために何も追加していません。この段階では、1 つのスクリプトで複数の機能を実行する方法を考え出そうとしています。

一度に 1 つの計算を行うことで、これを徐々に構築しようとしていますが、試してみるとすぐに困惑しました。http://www.faa.net.au/test/にテスト ページを作成しました。

これについて何か助けていただければ幸いです。実際に時間をかけて JavaScript を適切に学習するための JavaScript ガイドを待っています。

私が追加しようとしている追加のメディケア計算は次のとおりです。

// Calculation below needs to replace Medicare above
if (income>0 && income<=19404) {
    medicare = (income*0)/100;
}
else if (income>19404 && income<=22828) {
    medicare = (income*10)/100;
}
else if (income>22828) {
    medicare = (income*1.5)/100;
}
4

3 に答える 3

0

これがあなたのフォームの根性です:

<form name="calc">

  Gross Income: <input type="text" class="innerc resform" size="15" name="income">

  <input type="button" onclick="calculate(this)" name="result" value="Calculate"
   class="calcButton">

  Income Tax:    <input type="text" size="15" class="resform" name="tax">
  Medicare Levy: <input type="text" size="15" class="resform" name="medicare">
  Net Income:    <input type="text" size="15" class="resform" name="net">
</form>

計算ボタンから渡す場合this(変更されたリスナーと値の追加に注意してください)、医療保険料を計算する関数は次のようになります。

function calculate(element) {
  var form = element.form;
  var income = form.income.value;

  // 0 for income less than threshold
  var medicare = 0;

  // Add 1% of income between 19404 and 22828
  if (income > 19404 && income <= 22828) {
    medicare = (income - 19404) * 0.01;
  }

  // Add 1.5% of income over 22828
  if (income > 22828) {
    medicare += (income - 22828) * 0.015;
  }
}

うまくいけば、それでうまくいくでしょう。

于 2012-11-28T02:33:40.833 に答える
0

必要な JavaScript コードはこれに似ていると思います。

// I am using a javascript library called jQuery.
$(function(){
    // On clicking the Calculate button
    $('#calculate').on('click', function(){
        // Get the value of user supplied income from the textbox
        var income = parseInt($('#preIncome').val().trim()),
            postIncome = 0,
            medicare = 0;
        console.log(income);
        if(income > 0){
            // Calculation below needs to replace Medicare above
            if (income>0 && income<=19404) {
                medicare = (income*0)/100;
            }
            else if (income>19404 && income<=22828) {
                medicare = (income*10)/100;
            }
            else if (income>22828) {
                medicare = (income*1.5)/100;
            }
            // Calculate the new income based on derived medicare value
            postIncome = income - medicare;
        }
        // Set the new medicare and income values to the textboxes
        $('#postIncome').val(postIncome);
        $('#medicare').val(medicare);
    });
});​

ここに動作するデモがあります: http://jsfiddle.net/pratik136/YdWNA/

于 2012-11-28T02:26:53.387 に答える
0

私が質問を正しく理解していれば、メディケアの計算用と税率用の 2 つの変数を使用するだけでよいと思います。そして、それらがあれば、純利益を計算できます。

したがって、JavaScript では次のようになります。

var medicare;
var tax; 
var income;
// This is just your medicare calculation
if (income>0 && income<=19404) {
    medicare = (income*0)/100;
}
else if (income>19404 && income<=22828) {
    medicare = (income*10)/100;
}
else {
    medicare = (income*1.5)/100;
}
// Hypothetical Tax calculation (I don't know the real tax rates)
if (income>0 && income<=20000) {
    tax = (income*25)/100;
}
else {
    tax = (income*40)/100;
}
// and now the net income using the calculated values
var netIncome=income-tax-medicare;
于 2012-11-28T02:32:34.603 に答える