我希望有人可以快速看看这个,并给我一些关于我做错了什么的指针。我试图按照我在JS Fiddle上找到的小费计算器程序进行操作,直到我尝试执行计算。Javascript所得税计算器
任何提示将有所帮助!
谢谢!
的jsfiddle:http://jsfiddle.net/Shibi/pg6hg7hg/63/
HTML:
<form id="calculator" method="post">
<div>
<p><input value="" id="income"></input></p>
</div>
<select id="states" onchange="changetax(this)">
<option>Choose state</option>
<option value="0.4">Alabama</option>
<option value="0">Alaska</option>
<option value="0.56">Arizona</option>
<option value="0.65">Arkansas</option>
</select>
<div id="tax"></div>
<p><input type="submit" /></p>
<hr />
<p>Taxed Amount: <div id="tax"></div></p>
<p>Total: <div id="total"></div></p>
</form>
JS:
function changetax($this){
$("#tax").text($this.value>0?("Income Tax: " + $this.value + "%") : "");
}
function calculate() {
var income = $('#income').val();
var tax = $('#tax').val();
var taxedAmount = income*tax;
var total = income - taxedAmount;
}
$('#calculator').submit(calculate);
感谢您的反馈! 请您详细说明我将如何去使用parseInt()或(val * 1)这些特定的变量? – Shibi 2014-09-12 18:13:33
@Shibi,我已经更新了答案。使用加法时,真正可以看到不转换和确保它们是整数的大问题。它会连接你的数字而不是添加它们,但是我仍然希望在对用户输入执行数学操作之前验证我正在处理一个数字。你也可以找到这个插件有帮助,我做。 http://www.decorplanit.com/plugin/ – Tony 2014-09-12 18:24:01
谢谢这真的很有帮助,我一定会看看那个插件。 我做了你所说的,我仍然以某种方式得到一个禁止(403) CSRF验证失败错误。任何想法为什么?其他一切似乎都很好。 http://jsfiddle.net/Shibi/pg6hg7hg/63/ – Shibi 2014-09-12 18:33:05