【发布时间】:2014-04-26 07:37:09
【问题描述】:
(改写之前的问题)所以这是作业:
首先,您必须计算包裹重量的成本。用户将在文本字段中输入包裹的总重量。日程安排如下……
0 – 150 磅 $20.00 每磅 | 151 – 300 磅 $15.00 每磅 | 301 – 400 磅每磅 10.00 美元 不允许用户输入 400 的权重。如果输入,则将红色错误消息输出到 div#results 并从函数中“返回”。
接下来,用户将选择一个折扣金额(无论出于何种原因,都无所谓)。您将需要应用选择的任何折扣金额。 (50% 折扣,20% 折扣,无)。
这是我到目前为止所做的。变量还没有声明,只是写进去了。
function calcTotal() {
var msg;
var weight = parseInt( document.getElementById("weight").value );
var discount;
var total;
if( weight >= 0 && weight <= 150 ) {
total = weight * 20
}
else if( weight >150 && weight <= 300 ) {
total = weight * 15
}
else if( weight >300 && weight <= 400 ) {
total = weight * 10
}
if( document.getElementById("50%").selected == true ) {
total = total * 0.50;
}
if( document.getElementById("25%").selected == true ) {
total = total * 0.25;
}
if( document.getElementById("none").selected == true ) {
total = total;
}
到目前为止,这有点正确吗?
似乎无法根据用户的选择弄清楚如何应用折扣。折扣是 3 个单选按钮。我需要为每个单选按钮应用一个 id 吗?
【问题讨论】:
-
当您大声说“如果重量大于零或小于 150”时,您暗示“或重量小于 150”。 JavaScript 不太擅长理解含义,你必须告诉它你想要什么;)
-
在您的代码中,如果 weight >= 0,它将始终输入第一条语句(因为它始终为真)-您希望限制在 0-150 范围内,您需要确保两者条件为真 (w >= 0 AND w
-
我还将权重和折扣作为参数传递给函数;并且不要忘记处理 w 400 时的情况(并相应地设置消息) - 最后返回 msg,瞧 :)
-
@blurfus “我还将权重和折扣作为参数传递给函数。”你这是什么意思?谢谢。
-
查看我的答案
标签: javascript variables if-statement var