function updategeneral() {
//tmp = "fine_" + tmp + "_";
var actual = doc.findItem("1speed").value;
var posted = doc.findItem("2speed").value;
amt = "";
if (1speed != "" && 2speed != "") {
var a = 1 * 1speed;
var b = 1 * 2speed;
if (a - b <= 9) {
alert(amt);
amt = doc.getDefault("general_spb_1_to_15");
} else if (a - b <= 15) {
amt = doc.getDefault("general_spb_16_to_25");
} else if (a - b <= 25) {
amt = doc.getDefault("general_spb_15_to_19");
} else if (a - b <= 29) {
amt = doc.getDefault("general_spb_26+");
}
doc.findItem("mcare_amount").value = amt;
alert(doc.findItem("mcare_amount").value = amt);
}
}
默认值为:
general_spb_1_to_15=30.00 || general_spb_16_to_25=40.00 || general_spb_26+=50.00
我的问题是,当amt为空或0时,它始终为general_spb_1_to_15=30.00
。我不知道如何解决这个问题 - 请有人帮忙吗?我使用的值是1speed = 20
和2speed = 25
,它们是负数或空的。
答案 0 :(得分:0)
假设您的浏览器引擎正在将1speed
和2speed
解释为变量(有些将会,有些则不会 - 变量名称不应该以数字开头,因此替换可能是明智的这些与speed1
和speed2
)...
但是假设那样,那么你描述的情况是在处理if语句时看到a - b
= -5
的值,这意味着它被
if (a - b <= 9) {
alert(amt);
amt = doc.getDefault("general_spb_1_to_15");
}
要更改您获得的结果,您应该为if
语句结构添加另一个选项。也许:
if (b > a)
{
//do something for this special case
} else if (a - b <= 9) {
alert(amt);
amt = doc.getDefault("general_spb_1_to_15");
} else if ...
您可能还希望专门处理speed1
/ speed2
中的一个或两个作为外if
块上的其他内容为空的情况。