我正在开设餐厅在线菜单,需要在客户向菜单添加项目时显示总数。但是,我的总计只有1位小数更新。我正在尝试使用toFixed(2),但无法使其正常工作。
var banquetPrice = parseInt($(document).find(".menuChoice").val());
$(".menuChoice").change(function () {
updateTotal()
});
var total = (banquetPrice * numGuests) + (9.25 * numGuac) + (9.25 * numQuesa) + (9.25 * numNachos)
$("#total").html(total);
total.toFixed(2);
非常感谢任何帮助!
答案 0 :(得分:1)
你去哥们..
var total = (12.35 * 5) + (9.25 * 1) + (9.25 * 1) + (9.25 * 1)
$("#total").html(total.toFixed(2));
label{
border-bottom : 2px solid green;
font-weight: 900;
font-size: 32px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<label id="total" ></label>
</div>
答案 1 :(得分:0)
正如上面的评论所述,您应该在更新total.toFixed(2)
元素文本的同一行调用#total
。您目前丢弃了toFixed
的返回值,而不是使用它。使用性能更高的.text()
代替.html()
,该行现在变为:
$("#total").text(total.toFixed(2))
$(".menuChoice").change(updateTotal)
updateTotal()
function updateTotal() {
// Assuming that these variables are already
// defined and set to meaningful values
var numGuests = 1
var numGuac = 1
var numQuesa = 1
var numNachos = 1
var banquetPrice = +$(".menuChoice").val()
var total = (banquetPrice * numGuests) + (9.25 * numGuac) + (9.25 * numQuesa) + (9.25 * numNachos)
$("#total").text(total.toFixed(2))
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>Menu Choice: <input class="menuChoice" value="0"/>
<p>Total: $<span id="total"></span></p>
&#13;