我正在尝试用jquery创建一个简单的小费计算器。当我按下提交按钮时,我收到一条说明NaN的javascript警报。不知道我做错了什么。我该如何解决?非常感谢。
<head>
<meta name="description" content="tip calculator" />
<meta name="keywords" content="tip, calculator" />
<meta charset="utf-8" />
<title>Tip Calculator</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="tipcalc.js"></script>
</head>
<body>
<div class="entries">
Enter Bill Amount: <input type="text" /> <br><br>
Enter Tip Percent: <input type="text" /> <br><br>
<input type="button" value="Calculate Tip" id="submit" />
</div>
<script>
var total = $("#total").val();
var tip = $("#tip").val();
var amount = total + (tip / 100);
$("#submit").click(
function() {alert(amount);
});
</script>
答案 0 :(得分:2)
请记住为输入设置ID标记:
<div class="entries">
Enter Bill Amount: <input id="total" type="text" /> <br><br>
Enter Tip Percent: <input id="tip" type="text" /> <br><br>
<input type="button" value="Calculate Tip" id="submit" />
</div>
并使用parseFloat
将值转换为数字:
$("#submit").click(function(){
var total = parseFloat($("#total").val());
var tip = parseFloat($("#tip").val());
var amount = total + (tip / 100);
alert(amount);
});
另外,请注意我将变量移动到事件处理程序的内部。
答案 1 :(得分:0)
你似乎没有id为“total”或“tip”的div,
替换:
Enter Bill Amount: <input type="text" /> <br><br>
Enter Tip Percent: <input type="text" /> <br><br>
使用:
Enter Bill Amount: <input type="text" id="total"/> <br><br>
Enter Tip Percent: <input type="text" id="tip"/> <br><br>