1

我正在为我的应用程序使用 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 文件来获取存储在数据库中的日期以在日历中突出显示它们

4

1 回答 1

0

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

于 2012-04-06T06:38:38.690 回答