我需要根据从另一个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)
任何帮助都会非常感激:)
答案 0 :(得分:0)
检查控制台,您可能会遇到语法错误,例如:
未捕获的SyntaxError:意外令牌;
在后面的情况下,您缺少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;
}