【发布时间】:2017-11-14 09:57:31
【问题描述】:
这是this 问题的重复。我不知道如何比较差异。例如,如果差异大于 14 天,则文本框应为红色。如果 7 到 13 天它会是黄色的,低于 6 天它会是绿色的。
代码:
function compare() {
var firstDate = moment($("#date1").val(), "MM-DD-YYYY");
var secondDate = moment($("#date2").val(), "MM-DD-YYYY");
console.log(firstDate.inspect(), secondDate.inspect());
if (firstDate.isValid() && secondDate.isValid()) {
// you need a validation before using diff function of momentjs
var diff = Math.abs(firstDate.diff(secondDate, 'days'));
console.log(diff);
// you also need to remove all classes before adding new class
$("#status").removeClass("redBg").removeClass("greenBg").removeClass("yellowBg");
if (diff => 14) {
$("#status").addClass('redBg');
} else if (7 < diff =< 9) {
$("#status").addClass('greenBg');
} else if(diff >= 6) {
$("#status").addClass('yellowBg');
}
} else {
$("#status").addClass('yellowBg');
}
});
.greenBg {
background: green;
}
.yellowBg {
background: yellow;
}
.redBg {
background: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.19.2/moment.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<html>
<body>
<input type="text" id="date1" onchange=/>
<input type="text" id="date2" onchange='compare()'/>
<input readonly type="text" id="status"/>
</body>
</html>
【问题讨论】:
-
你能发布你的示例代码吗?
-
请查看“this”超链接
-
@JasperSeinhorst 这个问题只是我问的。我想对差异做一些操作。所以只有我作为一个单独的人问了
-
如果您提供示例代码,其他人会很容易回答,而不是要求他们访问某个链接。
标签: javascript jquery html momentjs