6

我正在使用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',
});

我还设置了一个 jsfiddle

谢谢大家,如果您能引导我走上正确的道路,将不胜感激

4

2 回答 2

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/

于 2017-06-08T13:27:58.797 回答
0

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");
        

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

于 2017-06-08T13:23:15.800 回答