Javascript,变量和if/else语句

Javascript, variables and if/else statements

本文关键字:else 语句 if 变量 Javascript      更新时间:2023-09-26

我是一个完全的Javascript新手,我正在帮助我的朋友完成一个大学的小项目。

这个想法是当一个复选框被选中时,一个项目被选中,然后当一个"total"按钮被按下时,被选中项目的总和被打印出来。我一直在使用if/else语句,所以如果检查var staticprice = 29.00和其他var staticprice = 0.00,这似乎工作得很好,直到我把它加起来。添加变量"staticprice"总是返回0.00的值,即使勾选了也是如此。

这是非常混乱的(因为是我第一次尝试创建这样的东西):http://jsfiddle.net/mNmQs/180/

我在这里错过了什么?

欢呼

为了让生活更轻松,给你的复选框一个value,这就是它的存在!我已经更新了您的小提琴,以包括每个复选框的适当值。下一个是循环,简单地循环您的复选框,如果选中,将选中输入的value添加到总数中:

var totalBtn = document.getElementById("total"),
checkboxes = document.getElementsByTagName("input");
totalBtn.onclick = function() {
    var total = 0;
    for (var i = 0; i < checkboxes.length; i++) {
        if (checkboxes[i].checked) {
            total = total + parseInt(checkboxes[i].value);
        }
    }
    alert(total);
}
http://jsfiddle.net/mNmQs/181/

你可以改变这一行:

this.grandTotal= +seaprice + +stillprice + +staticprice; 

:

grandTotal= parseInt(seaprice,10) + parseInt(stillprice,10) + parseInt(staticprice,10); 

在这种情况下,问题是你试图求和字符串而不是数字

<<p> JSFiddle例子/strong>

然而在这种情况下似乎没有必要将价格声明为字符串。当然,除非您想以0.00格式显示价格,否则只需将它们声明为数字,这应该更好,如:var seaprice = 39.00;var seaprice = 39.00;而不是var seaprice = "39.00";

其他小提琴