我有一个日期选择器,其所有过去几天都被禁用,除星期二和星期三之外的所有日子都被禁用。
我希望默认日期是一周中启用的第一天。如果它是星期二,那么它应该显示星期二,如果星期三,然后星期三。任何其他日子它应该在输入字段的下周二显示。
这是我用于datepicker的代码。
<script type="text/javascript">
$(document).ready(function(){
$( ".datepicker" ).datepicker({
minDate:'0',
changeMonth:true,
changeYear:true,
beforeShowDay:
function(dt)
{
return [dt.getDay() === 2 || dt.getDay() === 3, ""];
}});
});
</script>
我使用选择器的输入:
<form method="POST">
<div style='margin:0 auto; text-align:center;'>
<label>Appointment Date: </label>
<input type="hidden" name="action" value="list_appointments" />
<input type="text" id="datepicker" name="date" class="datepicker" />
<!--value=--><?php #echo date_format(new DateTime("now",new DateTimeZone('America/Chicago')),'m/d/Y');?>
<input type="submit" value="Refresh List" name="Update" />
<br />
</div>
</form>
答案 0 :(得分:0)
您可以使用momentjs让一周中的第二天变得更容易,然后只需要if-else语句即可获得一周中正确的日期:
function setDate() {
var today = moment().isoWeekday(); //or just = new Date().getDay();
if (today <= 2) {
return moment().isoWeekday(2);
} else if (today === 3) {
return moment().isoWeekday(3);
} else {
return moment().add(1, 'weeks').isoWeekday(2);
}
}
然后调用setDate()
函数并将该返回值设置为datepicker中的日期。
$('.datepicker').datepicker("setDate", new Date(setDate()));
以下是一个工作示例:https://jsfiddle.net/jutcw0ve/