首页 > 解决方案 > Javascript:薪水计算器(无法显示正确的数字)

问题描述

为了练习我的 javascript 技能,我参加了一个创建薪水计算器的业余项目。我的“if...else”语句遇到了问题。在我的一生中,我无法根据用户的输入显示正确的税率。无论我输入什么,控制台都会显示 .10

这是HTML:

const userSalary = document.querySelector('#salary');
const button = document.querySelector('.calculate');

if (parseInt(userSalary.value) >= 100000) {
  var taxRate = 0.37;
} else {
  var taxRate = 0.10;
}

button.addEventListener('click', event => {
  console.log(parseInt(taxRate));
});
<!DOCTYPE html>
<html lang="en" dir="ltr">

<head>
  <meta charset="utf-8">
  <title></title>
</head>

<body style="background-color: white;">
  <form>
    <label for="contribution">Enter contribution percentage</label>
    <input type="number" id="contribution" name="contribution"><br><br>

    <label for="salary">Enter your annual salary:</label>
    <input type="text" id="salary" name="salary"><br><br>

    <label for="tax">Select your tax filing status:</label>
    <select id="tax">
      <option value="single">Single</option>
      <option value="married_joint">Married Filing Jointly</option>
      <option value="married_separately">Married Filing Separately</option>
      <option value="head_household">Head of Household</option>
    </select><br><br>

    <label for="paycheck_frequency">Paycheck Frequency</label>
    <select id="paycheck_frequency">
      <option value="weekly">Weekly</option>
      <option value="biweekly">Biweekly</option>
      <option value="twice_monthly">Twice a Month</option>
      <option value="monthly">Monthly</option>
    </select>
  </form>

</body>
<button class="calculate">Calculate</button>
<script src="main.js"></script>

</html>

这是javascript:

const userSalary = document.querySelector('#salary');
const button = document.querySelector('.calculate');

if (parseInt(userSalary.value) >= 100000) {
  var taxRate = 0.37;
} else {
  var taxRate = 0.10;
}

button.addEventListener('click', event => {
  console.log(parseInt(taxRate));
});

先感谢您!

标签: javascriptforms

解决方案


请尝试以下 javascript:

const userSalary = document.querySelector('#salary');
const button = document.querySelector('.calculate');

let taxRate;

function recalculateTaxRate() {
  if (parseInt(userSalary.value) >= 100000) {
    taxRate = 0.37;
  } else {
    taxRate = 0.10;
  }
}

button.addEventListener('click', event => {
  // Recalculate the rate before printing it.
  recalculateTaxRate();
  console.log(taxRate);
});

推荐阅读