【问题标题】:Date and Time picker with disable future and past dates and times日期和时间选择器,禁用未来和过去的日期和时间
【发布时间】:2019-03-28 03:31:22
【问题描述】:

我创建了这个日期和时间选择器,但我有一个问题是我想禁用过去的日期,然后启用未来 15 天的日期和时间,并在 15 天后再次禁用未来的日期和时间。我熟悉 Jquery 和 Js。这是我的JSFiddle

我还研究了 google、stackoverflow 和 sitepoint 社区,但如果我得到了,我没有得到任何有用的答案。

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.4/jquery.datetimepicker.min.css" />

<!-- Here by using Id selector the datetime picker will load on this input element -->
<input id="datetimepicker" type="text">

<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.4/build/jquery.datetimepicker.full.min.js"></script>
<script src="http://cdn.craig.is/js/rainbow-custom.min.js"></script>
<script>
      $(document).ready(function() {
        	$.datetimepicker.setLocale('pt-BR');
       	$('#datetimepicker').datetimepicker();
      });
</script>

【问题讨论】:

  • 请提供您的代码
  • @ZarnaBorda 我用代码更新了线程,请帮助

标签: javascript jquery date time picker


【解决方案1】:

使用 minDate 和 maxDate 禁用过去和未来的日期。

  $(document).ready(function() {
    var today = new Date();
    var newdate = new Date();
    newdate.setDate(today.getDate() + 15);
    var maxtime = new Date();
    maxtime.setMinutes(maxtime.getMinutes() + 30); // timestamp
    $.datetimepicker.setLocale('pt-BR');
    $('#datetimepicker').datetimepicker({
        minDate: today,
        minDateTime: today,
        maxDate: newdate,
        step: 30
    });
  });

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.4/jquery.datetimepicker.min.css" />

<!-- Here by using Id selector the datetime picker will load on this input element -->
<input id="datetimepicker">

<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.4/build/jquery.datetimepicker.full.min.js"></script>
<script src="http://cdn.craig.is/js/rainbow-custom.min.js"></script>
<script>
    $(document).ready(function() {
  	  var today = new Date();
      var newdate = new Date();
      newdate.setDate(today.getDate() + 15);
      var maxtime = new Date();
      maxtime.setMinutes(maxtime.getMinutes() + 30); // timestamp
      $('#datetimepicker').datetimepicker.setLocale('pt-BR');
   	  $('#datetimepicker').datetimepicker({
          minDate: today,
    	  minDateTime: today,
        maxDate: newdate,
        step: 30
      });
    });
</script>

【讨论】:

  • 谢谢您,但我想我错误地向您解释了我想说的话。 https://i.ibb.co/ftp35Dp/screenshot.png 请看一下这张图片,先生,我也想禁用过去的时间,我不希望用户今天点击过去的时间,他们只能点击未来的时间。请再次更新答案。
  • 您想从今天的日期或选定的日期禁用?
  • 先生,我也想禁用过去的时间。用户可以在半小时后选择未来的时间。假设现在时间是10:00AM,所以用户可以在这段时间内选择时间10:30PM 30 分钟禁用。
  • 尝试minDate: today, 而不是minDateTime: today,
  • @ZarnaBorda 最近更新了https://jsfiddle.net/techWorld/28f7hgus/4/ 代码是这一切都很好,但未来时间必须在当前时间 + 30 分钟后启用,如图像中请查看一次https://i.ibb.co/KFBNsfc/screenshot.png
猜你喜欢
  • 2015-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多