onselect后刷新datepicker

时间:2012-04-05 08:50:13

标签: jquery datepicker

我正在为我的应用程序使用jquery datepicker。

我想突出显示用户选择的日期。 用户将选择一个日期,该日期将作为假日添加到数据库中,日期应突出显示。我已经在数据库中有一些日期,在使用beforeShowDay事件之前会突出显示,而且我已经禁用了周末。

一切正常,但我将其添加到数据库后无法突出显示该日期。只有在我重新加载日历时它才会突出显示。

我在互联网上搜索但没有任何明确的想法,很多地方建议使用multidatepicker,但重点是我只选择一个日期将其添加到数据库然后选择其他。

请建议我哪里出错了。 我的代码是 -

var dates = [ <? php echo $holidays; ?> ];

$(document).ready(function () {
    $("#calendardisplay").datepicker({
        dateFormat: 'yy-mm-dd',
        beforeShowDay: highlightDays,
        onSelect: dateSelected
    });

    function dateSelected(dateText, inst) {
        $.post('/postChannelHoliday.php', {
            'date': dateText
        }, function (data) {
            alert('Successfully Added');
        });
    }
}

function holiday(date) {
    for (var i = 0; i < dates.length; i++) {
        if (new Date(dates[i]).toString().substr(0, 16) == date.toString().substr(0, 16)) {
            return [true, 'ui-state-highlight'];
        }
    }
    return [true, ''];
}

function highlightDays(date) {
    var noWeekend = $.datepicker.noWeekends(date);
    if (noWeekend[0]) {
        return holiday(date);
    } else {
        return noWeekend;
    }
}
});

我包含一个php文件来获取存储在数据库中的日期以在日历中突出显示它们

1 个答案:

答案 0 :(得分:0)

而不是alert您需要更新假期列表(看起来像dates全局对象),而不是通过调用refresh强制更新datepicker。