日期选择器模式弹出窗口无法正常工作-jQuery


Jquery日期选择器模式弹出窗口无法正常工作!!

如果我从较大日期中选择当前日期,我想显示弹出窗口,如"这是未来日期"如果我选择的日期小于当前日期,我想显示弹出窗口,如"这是过去的日期"即使我选择了当前日期,我也想显示弹出行"这是今天的日期">

示例:如果我单击<当前日期(显示弹出窗口这已经过去了日期(,>当前日期(显示弹出窗口这是未来日期于当前日期(显示弹出窗口这是今天日期

我正在使用此函数,但它无法正常工作。。

我希望我的问题可以理解。。

这是我的小提琴。。

点击此处

这是我的片段。。

$(document).ready(function(e) {
$("#datepicker").datepicker().on("change", function(e) {
var today = new Date();
var date = (today.getMonth() + 1) + "/" + (today.getDate()) + "/" + (today.getFullYear());
$('#myModal').modal('show');
if ($(this).val() == date) {
$(".modal-body p").html("You have selected today");
} else if ($(this).val() < date) {
$(".modal-body p").html("You have selected past date");
} else {
$(".modal-body p").html("You have selected future date");
}
});
});
<!Doctype>
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/datepicker/0.6.5/datepicker.css" integrity="sha256-n3ci71vDbbK59GUg1tuo+c3KO7+pnBOzt7BDmOe87s4=" crossorigin="anonymous" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/datepicker/0.6.5/datepicker.js" integrity="sha256-KgOC04qt96w+EFba7KuNt9sT+ahJua25I0I2rrkZHFo=" crossorigin="anonymous"></script>
</head>
<body>
<div class="container">
<input type="text" id="datepicker">
<div id="myModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Modal Header</h4>
</div>
<div class="modal-body">
<p>Some text in the modal.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

谢谢。。

您可以使用Date.parse((,这是一个内置的js函数,用于比较不同的日期,因为它将以毫秒为单位转换给定的日期,这将帮助您比较日期。

$(document).ready(function(e) {
$("#datepicker").datepicker().on("change", function(e) {
var today = new Date();
var date = (today.getMonth() + 1) + "/" + (today.getDate()) + "/" + (today.getFullYear());
date = Date.parse(date);
var selected_date = Date.parse($(this).val());
$('#myModal').modal('show');
if (selected_date  == date) {
$(".modal-body p").html("You have selected today");
} else if (selected_date < date) {
$(".modal-body p").html("You have selected past date");
} else {
$(".modal-body p").html("You have selected future date");
}
});
});
<!Doctype>
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/datepicker/0.6.5/datepicker.css" integrity="sha256-n3ci71vDbbK59GUg1tuo+c3KO7+pnBOzt7BDmOe87s4=" crossorigin="anonymous" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/datepicker/0.6.5/datepicker.js" integrity="sha256-KgOC04qt96w+EFba7KuNt9sT+ahJua25I0I2rrkZHFo=" crossorigin="anonymous"></script>
</head>
<body>
<div class="container">
<input type="text" id="datepicker">
<div id="myModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Modal Header</h4>
</div>
<div class="modal-body">
<p>Some text in the modal.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

变量日期初始化不正确。如果数字是个位数,您应该在today.getDate((中添加0填充。

将日期变量初始化替换为下一行。

var date = (today.getMonth() + 1) + "/" + (("0" + today.getDate()).slice(-2)) + "/" + (today.getFullYear());

最新更新