gpt4 book ai didi

javascript - 日期选择器无法启用 9 号之后的日期

转载 作者:行者123 更新时间:2023-11-28 15:38:53 24 4
gpt4 key购买 nike

我正在尝试为用户创建一些可用的特定日期,因为我已经指定了范围内的某个日期。一切看起来都不错,除了日期选择器没有选择超过该月 9 日的日期。

我找不到错误,如果有人可以提供帮助,那将是一个很大的帮助。

这里是 JsFiddle URL :- http://jsfiddle.net/8AXaw/1/

<script type='text/javascript'>
var availableDates = "2014-07-04, 2014-07-05, 2014-07-06, 2014-07-07, 2014-07-08, 2014-07-09, 2014-07-10, 2014-07-11, 2014-07-12, 2014-07-13, 2014-07-14, 2014-07-15, 2014-07-16, 2014-07-17, 2014-07-18, 2014-07-19, 2014-07-20, 2014-07-21, 2014-07-22, 2014-07-23, 2014-07-24, 2014-07-25, 2014-07-26, 2014-07-27, 2014-07-28, 2014-07-29, 2014-07-30, 2014-07-31, 2014-08-01, 2014-08-02, 2014-08-03, 2014-08-04, 2014-08-05";
var availableDate = availableDates.split(', ');
function available(date) {
dmy = date.getFullYear() + '-0' + (date.getMonth()+1) + '-0' +date.getDate();
if (jQuery.inArray(dmy, availableDate) != -1) {
return [true, '','Available'];
} else {
return [false,'','unAvailable'];
}
}
jQuery('#datepicker').datepicker({ beforeShowDay: available });
</script>

这里是 JsFiddle URL :- http://jsfiddle.net/8AXaw/1/

最佳答案

这是您构建日期的方式

var dmy = date.getFullYear() + '-0' + (date.getMonth()+1) + '-0' +date.getDate();

注意零,你最终会得到像这样的日期

2014-07-08
2014-07-09
2014-07-010
2014-07-011
2014-07-012

很明显,为什么它只适用于 09,因为 010 无效,并且您对月份也做了同样的事情。

您可以添加一个在必要时填充数字的函数

function available(date) {
var dmy = date.getFullYear() + '-' + pad(date.getMonth() + 1) + '-' + pad(date.getDate());
if (jQuery.inArray(dmy, availableDate) != -1) {
return [true, '', 'Available'];
} else {
return [false, '', 'unAvailable'];
}
}

function pad(n) {
return n < 10 ? ('0' + n) : n;
}

FIDDLE

关于javascript - 日期选择器无法启用 9 号之后的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24593246/

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