我需要根据从另一个var
获得的值为var
赋值,但它给了我未定义。
我需要根据您提前预订的天数提供折扣例如
<input type="date" id="arriveDate">
<input type="submit" value="submit">
情况是我需要计算从今天到arriveDate
之间的天数。这没有问题(但欢迎任何评论(
在JS中,我这样做
var today = Date.now();
var arriveDateInserted = new Date(document.getElementById("arriveDate").value);
var diffDays = Math.round(((arriveDateInserted - today)/86400000)+1);
现在,我需要根据提前多少天预订提供一些折扣。我尝试使用三元运算符,就像这样。
var discount = diffDays < 61 ? 0:
diffDays > 60 && diffDays < 91 ? 0.10:
diffDays > 90 && diffDays < 121 ? 0.15;
但我什至没有alert(discount)
任何帮助将不胜感激:)
检查您的控制台,您可能会收到如下语法错误:
未捕获的语法错误:意外的令牌;
在后面的条件下,您缺少else
:
diffDays > 90 && diffDays < 121 ? 0.15 /* Here should be a : and an else condition
例:
var discount = diffDays < 61 ? 0 :
diffDays > 60 && diffDays < 91 ? 0.10 :
diffDays > 90 && diffDays < 121 ? 0.15 : 0.20;
我建议避免使用嵌套的三元条件以获得更好的阅读:
let discount = 0;
if (diffDays > 60 && diffDays < 91) {
discount = 0.10;
} else if (diffDays > 90) {
discount = 0.15;
}