我正在使用jquery日期时间选择器设置一个事件的开始和结束日期。但我如何才能防止选择事件结束日期应该大于事件开始日期。我结束日期选择第一次,然后开始日期应该小于结束日期。
我试过使用下面的代码,但没有为我工作:
$('#startDate').datetimepicker({
dayOfWeekStart : 1,
lang:'en',
minDate: new Date(),
onSelect: function(dateText, inst){
$("#endDate").datetimepicker('option', 'minDate', dateText);
}
});
$('#endDate').datetimepicker({
dayOfWeekStart : 1,
lang:'en',
startDate: new Date(),
onSelect: function(dateText, inst){
$("#startDate").datetimepicker('option', 'maxDate', dateText);
}
});
我的网页的html是这样的:
<form action="" method="POST">
<div class="col-sm-2 col-lg-2">
<div class="form-group ">
<input type="text" value="" id="startDate" name="startDate" class="form-control" autocomplete="off" placeholder="Start Date"/>
</div>
<div class="form-group ">
<input type="text" value="" autocomplete="off" id="endDate" name="endDate" class="form-control" placeholder="End Date"/>
</div>
<div class="form-group ">
<input type="text" value="" name="eventName" class="form-control" placeholder="Event Name"/>
</div>
<input type="submit" name="submit" value="Add Event" class="btn btn-primary">
</div>
</form>
4条答案
按热度按时间nlejzf6q1#
当选择结束日期时,检查开始和结束日期的数据差异,可以尝试此操作。
您还可以将此日期差异脚本应用于开始日期选择。
8fq7wneg2#
创建 一 个
js
函数 , 并 按 如下 所 示 使用 该 函数 。Date.prototype.DaysBetween = function () { var intMilDay = 24 * 60 * 60 * 1000; var intMilDif = arguments[0] - this; var intDays = Math.floor(intMilDif / intMilDay); if (intDays.toLocaleString() == "NaN") { return 0; } else { return intDays + 1; } }
-在
OnSelect
事件 中 使用 此 函数 , 如下 所 示 。$('#startDate').datetimepicker({ dayOfWeekStart : 1, lang:'en', minDate: new Date(), onSelect: function(dateText, inst){ var tempstartDate = $('#startDate').val(); var tempEndDate = $('#endDate').val(); var dateDiff = tempstartDate.DaysBetween(tempEndDate); // use this function to find the date diff. if(dateDiff > 1 ){ alert('Your msg...'); } } });
$('#endDate').datetimepicker({ dayOfWeekStart : 1, lang:'en', startDate: new Date(), onSelect: function(dateText, inst){ var tempstartDate = $('#startDate').val(); var tempEndDate = $('#endDate').val(); var dateDiff = tempstartDate.DaysBetween(tempEndDate); // use this function to find the date diff. if(dateDiff > 1 ){ alert('Your msg...'); } } });
hkmswyz63#
我 已经 使用 正常 的 Javascript 验证 解决 了 此 验证 问题
中 的 每 一 个
这 解决 了 我 在 任何 日期 时间 选择 器 库 中 验证 开始 日期 和 结束 日期 的 问题
11dmarpk4#