javascript - 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));
});
先感谢您!
解决方案
请尝试以下 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);
});
推荐阅读
- python - 在一个大应用程序中捆绑多个独立但相关的 Python 工具
- vb.net - 后台取消事件表单关闭错误
- javascript - 哪种数据结构最适合这项任务?
- string - MIPS 运行时异常和地址超出范围
- bash - 使用 find 和 xargs 时从 ffmpeg 重命名输出文件名
- gatsby - 在路线之间导航时如何防止 gatsby 布局重新渲染?
- ruby-on-rails - 为什么 simple_form 使用嵌套资源引发“无路由匹配 [POST]“/tenants””错误
- android - 当我单击任何按钮时,应用程序将崩溃
- powershell - 使用 Powershell 脚本将文件复制到 CSV 文件中声明的特定文件夹
- javascript - Highcharts-Vue 图表选项设置后不改变值