gpt4 book ai didi

jquery - Datepicker - 如何将默认日期设置为下一个可用日期而不是 "today"?

转载 作者:行者123 更新时间:2023-12-01 05:01:21 26 4
gpt4 key购买 nike

我正在为我的网站使用日期选择器。我选择了几天不接受订单。当我禁用某一天时,实际上就是那一天,默认日期被选择为那一天,即使我将其设置为不允许。

让我解释一下:

  • 3 月 17 日 - 已禁用日期,因此用户无法选择该日期
  • 用户于 3 月 17 日访问该网站,文本字段显示默认日期,即 3 月 17 日
  • 当用户提交表单而不选择新日期时 - 3 月 17 日将作为默认日期传递。

我希望将默认日期设置为下一个可用日期,在我的示例中为 3 月 18 日。

是否可以将默认日期设置为禁用日期后的下一个可用日期?

提前致谢。

到目前为止我的JS代码如下:

<script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function($) {

$("#input_1_16").datepicker({ beforeShowDay: nationalDays, minDate: 0, maxDate: "+4m"})

natDays = [
[1, 26],
[2, 6],
[3, 15,17],
[4, 27],
[5, 15,25],
[6, 6],
[7,19],
[8,27],
[9,],
[10,],
[11,],
[12,23,24,25,30,31]
];

function nationalDays(date) {
for (i = 0; i < natDays.length; i++) {
if (date.getMonth() == natDays[i][0] - 1
&& date.getDate() == natDays[i][1]) {
return [false, natDays[i][2] + '_day'];
}
}
return [true, ''];
}

});
</script>

最佳答案

我的 friend 能够为我回答这个问题:代码如下,这里有一个工作示例 http://jsfiddle.net/NHdEX/8/

natDays = [
[1,26],
[2,6],
[3,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],
[4,27],
[5,15,25],
[6,6],
[7,19],
[8,27],
[9],
[10],
[11],
[12,23,24,25,30,31]
];

function getMinDate() {
var now = new Date();

var monthnumber = now.getMonth();
var monthday = now.getDate();
var year = now.getFullYear();

//check if today is a holiday.
//by default do not skip any dates, allow user to select today.
var dayOffset = 0;

var date;
var currentDay = monthday;

var currentMonth = monthnumber;
for(var i = 0; i < natDays.length; i++){
date = natDays[i];
//check month
if(date[0] == currentMonth+1){
for(var j=1;j<date.length;j++){
currentDay == 0;
while(date[j] == currentDay){
dayOffset++;
currentDay++;
}
}
}
}


//calculate the new date.
now.setDate(now.getDate() + dayOffset);

return (now.getMonth() + 1) + '/' + now.getDate() + '/' + now.getFullYear();
}

function nationalDays(date) {
for (i = 0; i < natDays.length; i++) {
if (date.getMonth() == natDays[i][0] - 1
&& date.getDate() == natDays[i][1]) {
return [false, natDays[i][2] + '_day'];
}
}
return [true, ''];
}


$("#input_1_16").val(getMinDate());
$("#input_1_16").datepicker({ beforeShowDay: nationalDays, minDate: getMinDate(), maxDate: "+4m"});

关于jquery - Datepicker - 如何将默认日期设置为下一个可用日期而不是 "today"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9719984/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com