【问题标题】:jQuery UI Datepicker - Refresh available datesjQuery UI Datepicker - 刷新可用日期
【发布时间】:2015-02-04 19:04:42
【问题描述】:

我正在为我的日历使用 jQuery UI 日期选择器。我使用了 beforeShowDay 功能来阻止不可用的日子。此数据来自 AJAX 调用,成功后我会填充日历。

这很好用,但是我想在每次日期不可用时更新日期选择器,但我无法让日期选择器刷新。我希望能够调用一个函数,例如getdates(0); 并且日期选择器得到更新。

见下面的功能代码:

function getdates(duration) {
    $.getJSON(pluginUrl+"ajax/getdates.php?duration="+duration, function( data ) {  

        if(data['success'] == 1){

            console.log("here");
            var nonWorking = data['non_working_days'];
            var nonWorkingDates = data['non_working_dates'];
            var fullyBookedDates = data['fully_booked_dates'];

            jQuery("#datepicker").datepicker({
                minDate: 0,
                maxDate: "+2m",
                beforeShowDay: function(date){
                    var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
                    var day = date.getDay();

                    var status = true;

                    if(nonWorking.indexOf(day) >= 0){
                        var status = false;
                    }
                    if(nonWorkingDates.indexOf(string) >= 0){
                        var status = false;
                    }
                    if(fullyBookedDates.indexOf(string) >= 0){
                        var status = false;
                    }

                    console.log('in here');

                    return [ status ];
                }       
            });

        }

    });
}

用户界面示例:

感谢您的帮助

【问题讨论】:

  • 这个 jsFiddle 有帮助吗? jsfiddle.net/28NWZ/10
  • var dateField = $('#datepicker'); dateField.datepicker('刷新');应该刷新日期选择器中的日期。
  • @Dave 日历一直显示,而不仅仅是在输入焦点时显示。将用户界面的屏幕截图添加到原始帖子中。
  • 遵循这个问题中使用的模式:stackoverflow.com/questions/9480537/…

标签: jquery ajax jquery-ui datepicker jquery-ui-datepicker


【解决方案1】:

是否应该在处理新数据之前重置日期选择器?

jQuery("#datepicker").datepicker( "option" , {
    minDate: null,
    maxDate: null} 
);

或者干脆彻底摧毁它然后重新开始:

jQuery("#datepicker").datepicker("destroy");

【讨论】:

  • ("#datepicker").datepicker("destroy");谢谢,这对我有帮助! +1
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-29
  • 2016-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多