jquery - 在 PickMeUp 插件中突出显示日期数组

标签 jquery jquery-plugins datepicker highlight

我正在使用PickMeUp我的项目中的 JS 日历插件。

我遇到的问题是,我希望能够让用户选择多个日期,同时显示服务器端数据库中预先选择的日期。但是,我无法让它工作:PickMeUp 似乎没有这样的选项。

有人知道如何在日期选择器中突出显示一组给定的日期吗?

最佳答案

这绝对是可能的。

您需要做的是将数据库中的日期加载到数组中。然后,您可以使用 PickMeUpobject render event 检查此数组。并根据数组中的日期检查每个日期。如果任何日期重合,您将返回带有新 css 类的事件 class_name。然后,您可以使用此 css 类突出显示数据库中的日期。

例如,以下 Javascript/jQuery 说明了我的意思:

// Creating some 'sample' dates (you just load this from the database instead)
var datesFromDatabase = [];
var d = new Date();
for (i = 2; i < 7; i++) {
    var tempDay = new Date(); tempDay.setHours(0,0,0,0);
    tempDay.setDate(d.getDate()-i);
    datesFromDatabase.push(tempDay.getTime());
}

$(function () {
    $('.multiple').pickmeup({
        flat: true,
        mode: 'multiple',
        // Before rendering dates, highlight if from database
        render: function(date) {
            if ($.inArray(date.getTime(), datesFromDatabase) > -1){
                return {
                    class_name : 'highlight'
                }
            }
        }
    });
});
// Little hack to deselect current day: PickMeUp forces you to have a default date :(
$('.pmu-today').click();

使用以下CSS:

.highlight:not(.pmu-today) {
    background: #8FC490;
}
.highlight:not(.pmu-today):hover {
    background: #136a9f !important;
}

DEMO

关于jquery - 在 PickMeUp 插件中突出显示日期数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31268440/

相关文章:

javascript - 如何在页面加载后获取动态生成的文本? (jQuery)

javascript - 当从文本区域内按下某个键时创建一个 jquery ui datepicker

WPF DatePicker 默认为今天的日期

javascript - 单击使用 jquery 固定的位置上的 nav

javascript - 辅助功能键盘仅选项卡到 z-index "Back to Top"

javascript - 禁用链接的默认行为

javascript - 使用 touch-punch 插件在移动设备中使用带有文本区域的可拖动 jquery-ui-dialog

css - Jquery 和 css 引用在 IE7 兼容性上阻止 Asp.net 中的页面呈现

javascript - jQuery UI 日期选择器不工作?

javascript - 使用 JQuery 在 ESC 按键处关闭自定义框