我的项目中有一个特定的需求,我应该在jquery日期选择器中仅启用每月的第1和第15个。我见过几个基于日期数组的解决方案,但这对我不起作用。有没有办法可以应用模式?
@mtndesign - 关于为什么我不能使用数组的回答/问题: datepicker应始终(所有过去,当前和未来的月份和年份)仅显示1或15.我可以在阵列中保留多少个日期?如何根据用户所选月份的用户行为创建阵列?我觉得如果我开始创建一个数组
会很复杂答案 0 :(得分:2)
我想你想要完成这样的事情:
function isAvailable(date) {
var dt = date.getDate();
if (dt == 1 || dt == 15) {
return [true,"",""];
} else {
return [false,"",""];
}
}
$('#some_div').datepicker({ beforeShowDay: isAvailable });
更通用的解决方案是:
var dates_avail = [1, 15, 23, 27];
function isAvailable(date) {
var dt = date.getDate();
if (dates_avail.indexOf(dt) != -1) {
return [true,"",""];
} else {
return [false,"",""];
}
}
$('#some_div').datepicker({ beforeShowDay: isAvailable });
或查看特定年份的具体日期:
var dates_avail = ["1/1/2016", "21/4/2016", "19/3/2016"];
function isAvailable(date) {
var dt = date.getDate();
dt += "/" + (date.getMonth()+1);
dt += "/" + date.getFullYear();
if (dates_avail.indexOf(dt) != -1) {
return [true,"",""];
} else {
return [false,"",""];
}
}
$('#some_div').datepicker({ beforeShowDay: isAvailable });
答案 1 :(得分:0)
我要使用此功能,请问这种格式正确吗?
<script type="text/javascript">
function isAvailable(date) {
var dt = date.getDate();
if (dt == 1 || dt == 16) {
return [true, "", ""];
} else {
return [false, "", ""];
}
}
$('#date2').datepicker({ beforeShowDay: isAvailable });
</script>