如果用户在接下来的3天内选择日期,则显示提醒

时间:2017-06-08 13:11:54

标签: jquery datetimepicker jquerydatetimepicker

我正在使用xdsoft datetimepicker,因此用户可以选择截止日期。如果他们选择接下来的3天之一,我想表示警告。

最初我设置了一个minDate所以这些日子是不可选择的但是我希望这些日子可以选择,而是显示一个警告框。

我不确定是否存在此选项,我在文档中找不到。

这就是我一直在做的事情 -

HTML

<h3>Deadline:</h3>
<input type="text" id="datetimepicker"/>

jquery的

$('#datetimepicker').datetimepicker({
    timepicker:false,
    format:'d/m/Y',
    formatDate:'Y/m/d',
    minDate:'+1970/01/04',
});

我还设置了a jsfiddle

谢谢你们,如果你能引导我走上正确的道路,那将非常感激

2 个答案:

答案 0 :(得分:2)

检查这个小提琴以寻求解决方案。我使用了硬编码日期,但您可以相应地进行格式化。您可以使用onSelectDate:function( ct ){.....

$('#datetimepicker').datetimepicker({
    timepicker:false,
    format:'d/m/Y',
    formatDate:'Y/m/d',
    minDate:'+1970/01/00',
  onSelectDate:function( ct ){

  var dateFrom = "06/08/2017";
  var dateTo = "06/11/2017";
  var dateCheck = "06/09/2017";

  var d1 = dateFrom.split("/");
  var d2 = dateTo.split("/");
  var c = dateCheck.split("/");

  var from = new Date(d1[2], parseInt(d1[1])-1, d1[0]);  // -1 because months are from 0 to 11
  var to   = new Date(d2[2], parseInt(d2[1])-1, d2[0]);
  var check = new Date(c[2], parseInt(c[1])-1, c[0]);

    alert(check > from && check < to);
  },
});

https://jsfiddle.net/oqw90cbu/5/

答案 1 :(得分:0)

&#13;
&#13;
Date.prototype.addDays = function(days) {
  var dat = new Date(this.valueOf());
  dat.setDate(dat.getDate() + days);
  return dat;
}

$("#datetimepicker").on("change", function(){
    var date= new Date().addDays(3);
    var selected = new Date($(this).val());
    var current = new Date();
    if(selected > current && selected < date)
    {
        // your code here
        alert("success");
        

    }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<h3>Deadline:</h3>
<input type="date" id="datetimepicker"/>
&#13;
&#13;
&#13;