minDate:0,不在datepicker中工作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了minDate:0,不在datepicker中工作相关的知识,希望对你有一定的参考价值。

我正在为我的CodeIgniter应用程序使用AdminLte模板,从中我使用的是Datepicker插件。我正在尝试添加minDate功能以限制用户从当前日期访问上一个日期,但minDate: 0无法正常工作,我也可以选择上一个日期。

这是我的JS:

$('#datepicker5').datepicker({
      autoclose: true,
      //changeYear: true,
      minDate: 0,
    });

$('#datepicker5').datepicker({
      autoclose: true,
      //changeYear: true,
      minDate: new Date(),
    })

今天的日期是2017年12月12日,但我也可以选择上一个日期。 enter image description here两个都不工作。

我正在使用两个不同ID的日期选择器。一个是datepicker4datepicker5,我正在计算差异。它们之间。为此,我写了以下JS:

$('#datepicker4').datepicker();
  $('#datepicker5').datepicker();
  $('#datepicker5').change(function () {
      var gasDiff= $('#datepicker4').datepicker("getDate") - $('#datepicker5').datepicker("getDate");
      var result = gasDiff / (1000 * 60 * 60 * 24) * -1;

      document.getElementById("gasDiff").value = result;
  });

即使我能够在签发日期之前选择到期日。实际上我想选择发布日期或当前日期,以及当前日期之后的到期日期。

编辑:

$('#datepicker1').datepicker({
    autoclose: true,
    endDate: new Date(),
    todayHighlight: true,

  });

  $("#datepicker1").on("change",function(){
        var selected = "Are you sure you want to select this date ?";
        alert(selected);
    });
  //$('#datepicker1')..inputmask('dd/mm/yyyy', { 'placeholder': 'dd/mm/yyyy' });

  $('#datepicker2').datepicker({
    autoclose: true,
    todayHighlight: true,
    startDate: new Date(),
  });

  $('#datepicker1', '#datepicker2').change(function(){
    var certDiff= $('#datepicker1').datepicker("getDate") - $('#datepicker2').datepicker("getDate");    
    var result = certDiff / (1000 * 60 * 60 * 24) * -1;
    //("#certDiff").text(result);
    document.getElementById("certDiff").value = result;
    //document.getElementById("certDiff").innerhtml = result;
  });

欢迎任何形式的帮助,提前致谢。

答案

如上所述,bootstrap-datepicker插件正在使用startDate: new Date()属性

$('#datepicker4').datepicker({
autoclose: true,
startDate: new Date() 
});

$('#datepicker5').datepicker({
 autoclose: true,
 startDate: new Date(),
}).change(function(){
var gasDiff= $('#datepicker4').datepicker("getDate") - $(this).datepicker("getDate");    
var result = gasDiff / (1000 * 60 * 60 * 24) * -1;
  $("#gasDiff").text(result);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.7.1/js/bootstrap-datepicker.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.7.1/css/bootstrap-datepicker.css" rel="stylesheet"/>

<input type="text" id="datepicker4"/>
<input type="text" id="datepicker5"/>
<div id="gasDiff">

</div>
另一答案

这看起来像bootstrap-datepicker插件。使用startDate: "12/12/2017"而不是minDate: new Date()

你可以在documentation找到更多细节

以上是关于minDate:0,不在datepicker中工作的主要内容,如果未能解决你的问题,请参考以下文章

设置mindate和maxdate后,jquery datepicker未禁用

为啥Bootstrap datepicker不能在ajax成功功能中工作[重复]

无法让 Jquery datepicker 在我的 asp.net mvc 项目中工作

PHP mysqli 在命令行中工作,但不在页面上

Android Geolocation在模拟器中工作但不在手机中工作

pyspark 代码在控制台中工作,但不在 zeppelin 中