这是我目前拥有的代码,但我不确定如何更改此功能以检查选择是否是在 90 天后进行的。到目前为止,当您单击日期选择器时,它会从今天跳到 45 天,并且不允许用户从之前选择任何内容,但问题是它允许过去 90 天,这是我不想要的。< /p>
https://jsfiddle.net/dwyvtajg/
<label id="asterisk">*</label> <label class="description" for="element_2">Event Date:</label><br /><label>Reservations must be made between <b>45-90 days in advance</b> of the event date</label> <br /><input onclick="one()" required="" type="date" oninput="this.className = ''" name="Event-Date" id="datepicker1" min="2019-10-02" />
<script>if ( $('#datepicker1')[0].type != 'date' ) $('#datepicker1').datepicker();</script>
<script>
function formatISOLocal(d) {
let z = n => ('0' + n).slice(-2);
return d.getFullYear()+'-'+z(d.getMonth()+1) + '-' + z(d.getDate());
}
function one() {
let inp = document.querySelector('#datepicker1');
let d = new Date(new Date().getTime()+(45*24*60*60*1000));
inp.min = formatISOLocal(d);
inp.defaultValue = inp.min;
d.setFullYear(d.getFullYear() , d.getMonth() + 6);
inp.max = formatISOLocal(d);
// Debug
console.log(inp.outerHTML);
}
</script>
感谢大家的帮助......编辑这一行修复了它!!! d.setFullYear(d.getFullYear(), d.getMonth(), d.getDate() +45);
答案 0 :(得分:1)
肯定需要一个小时来查看docs。否则你会让自己变得更难。
例如,设置最小和最大日期 - 瞧:
$(function() {
$( "#datepicker1" ).datepicker({
maxDate:'+90d',
minDate: '+45d',
onSelect: function(date) {}
});
});