我怎么能在php datepicker中禁用过去的日期

时间:2017-02-22 06:05:59

标签: javascript php html date datepicker

如何使用函数脚本在datepicker中禁用当前日期的旧日期?谢谢!

booknow.php

Error: [DecimalError] Precision limit exceeded

5 个答案:

答案 0 :(得分:1)

初始化时只需设置datepicker选项即可。需要设置选项minDate才能执行此操作。

像这样初始化你的datepicker:

jQuery('#shootdate').datepicker({
         minDate: 0
});

答案 1 :(得分:1)

<html>
    <body>
        <label for="shootdate">Desired Date:</label>
        <input required type="date" name="shootdate" id="shootdate" title="Choose your desired date" min="<?php echo date('Y-m-d'); ?>"/>
    </body>
</html>

您可以使用PHP本身来完成此操作。我们可以轻松地将最短日期设置为今天,以便用户无法选择以前的日期。

或者,如果您只需要使用jquery,请试试这个

<html>
	<head>
		<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
	  	<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
	  	<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
	  	<script>
	  		$( function() {
	   			$( "#shootdate" ).datepicker({
	   				minDate: 0
	   			});
	  		});
	  	</script>
	</head>
    <body>
    	<label for="shootdate">Desired Date:</label>
    	<input required type="text" name="shootdate" id="shootdate" title="Choose your desired date" />
    </body>
</html>

答案 2 :(得分:0)

试试这个:

<label for="from">From</label> <input type="text" id="from" name="from"/> 
<label for="to">to</label> <input type="text" id="shootdate" name="to"/>

var dateToday = new Date();
var dates = $("#from, #shootdate").datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 3,
minDate: dateToday,
onSelect: function(selectedDate) {
    var option = this.id == "from" ? "minDate" : "maxDate",
        instance = $(this).data("datepicker"),
        date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
    dates.not(this).datepicker("option", option, date);
}

});

答案 3 :(得分:0)

<p>Date: <input type="text" id="datepicker" /></p>

 <script>
 $(function() {
 $( "#datepicker" ).datepicker({ minDate: 0});
 });
 </script>

答案 4 :(得分:0)

使用输入类型日期,您可以使用 min 属性设置最小日期。但是,并非所有使用的浏览器都支持输入类型日期(请参阅MDN support matrix),因此您需要回退。

function getISODate(){
  var d = new Date();
  return d.getFullYear() + '-' + 
          ('0' + (d.getMonth()+1)).slice(-2) + '-' +
          ('0' + d.getDate()).slice(-2);
}

window.onload = function() {
  document.getElementById('minToday').setAttribute('min',getISODate());
}
Select date (must be on or after 20-Feb-2017)<input type="date" min="2017-02-20">
<br>
Select date(must be on or after today)<input type="date" id="minToday">