如何在 php datepicker 中禁用过去的日期 [重复]
Posted
技术标签:
【中文标题】如何在 php datepicker 中禁用过去的日期 [重复]【英文标题】:How could I disable past dates in php datepicker [duplicate] 【发布时间】:2017-07-12 01:17:22 【问题描述】:如何使用函数脚本在日期选择器中禁用当前日期的旧日期?谢谢!
booknow.php
<html>
<body>
<label for="shootdate">Desired Date:</label>
<input required type="date" name="shootdate" id="shootdate" title="Choose your desired date"/>
</body>
</html>
【问题讨论】:
在谷歌上搜索:disable previous dates in datepicker
。你一定会得到答案
是的。我该怎么办? :(
***.com/questions/25053119/…
【参考方案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】:您只需在初始化时设置 datepicker 选项。需要设置选项 minDate
才能执行此操作。
像这样初始化你的日期选择器:
jQuery('#shootdate').datepicker(
minDate: 0
);
【讨论】:
【参考方案3】:试试这个:
<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);
);
【讨论】:
不工作 :( "FROM" 和 "TO" 是从哪里来的?我不明白 huhuhu :( 我不明白所有的 jQuery 答案。 OP 没有使用 jQuery 标签,没有在 OP 中提及,也没有包含在代码中。【参考方案4】:<p>Date: <input type="text" id="datepicker" /></p>
<script>
$(function()
$( "#datepicker" ).datepicker( minDate: 0);
);
</script>
【讨论】:
日期选择器不工作:( 你是如何使用的?...你必须使用 Jquery 扩展。 【参考方案5】:使用输入类型日期,您可以使用 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">
【讨论】:
以上是关于如何在 php datepicker 中禁用过去的日期 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 jquery UI datepicker 中禁用今天之前的日期?
Bootstrap Datepicker 在设置第一个日期字段后禁用过去日期
Jquery Bootstrap Datepicker 禁用过去日期并且不自动填充输入框