Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当这个月没有可用的天数时,如何使jquery datepicker在下个月打开?_Jquery_Datepicker - Fatal编程技术网

当这个月没有可用的天数时,如何使jquery datepicker在下个月打开?

当这个月没有可用的天数时,如何使jquery datepicker在下个月打开?,jquery,datepicker,Jquery,Datepicker,我使用jquery datepicker和一个只启用星期二的beforeShowDay过滤器。如果我快月底了,没有更多的星期二了,那么选择器将打开到当前月份,没有可用的日期 我如何识别拾荒者的这种情况?有没有办法询问所选月份或类似月份的可用日期 如果我认识到这种情况,我如何让选择器在下个月用户单击时打开 有没有一种自动方法可以做到这一点?使用日期选择器setDate()方法--在beforeShowDay事件中将日历日期设置为下一个可用的星期二 这里有一个获取一周中下一个特定日期的示例:,但这并

我使用jquery datepicker和一个只启用星期二的
beforeShowDay
过滤器。如果我快月底了,没有更多的星期二了,那么选择器将打开到当前月份,没有可用的日期

我如何识别拾荒者的这种情况?有没有办法询问所选月份或类似月份的可用日期

如果我认识到这种情况,我如何让选择器在下个月用户单击时打开


有没有一种自动方法可以做到这一点?

使用日期选择器
setDate()
方法--在
beforeShowDay
事件中将日历日期设置为下一个可用的星期二


这里有一个获取一周中下一个特定日期的示例:

,但这并不能解决在没有更多可用日期的情况下将日历打开到下一个月的逻辑问题。如果前端设计允许,你可以让datepicker打开一个2个月的视图,这样你就可以一直选择日期了

安装程序要求您在初始化日期选择器时输入'numberOfMonths'作为选项

$('#datepicker').datepicker({ numberOfMonths: 2 });
试试我做的这个

$(文档).ready(函数(){
$(“#日期选择器”)。日期选择器({
defaultDate:nextTuesday(),
展示日前:启用周二
});
});
功能启用星期二(日期){
//0=星期日,1=星期一,2=星期二,3=星期三,
//4=周四,5=周五,6=周六
var day=date.getDay();
返回[(天==2),”;
}
函数nextTuesday(){
var today=新日期();
var offset=(today.getDay()<2)?0:7;
var daysUntilTuesday=2+offset-today.getDay();
返回'+'+daysUntilTuesday;
}

我不想为用户设置日期,我只想为他们提前设置日历。
$(document).ready( function() {
    $('#datepicker').datepicker({
        defaultDate: nextTuesday(),
        beforeShowDay: enableTuesdays
    });
});

function enableTuesdays(date) {
    // 0 =s unday, 1 = monday, 2 = tuesday, 3 = wednesday,
        // 4 = thursday, 5 = friday, 6 = saturday
    var day = date.getDay();
    return [(day == 2), ''];
}

function nextTuesday() {
    var today = new Date();
    var offset = (today.getDay() < 2) ? 0 : 7;
    var daysUntilTuesday = 2 + offset - today.getDay();
    return '+'+daysUntilTuesday;
}