如何在jQuery DatePicker上更改某些日期的CSS样式?

时间:2013-09-10 13:40:31

标签: css jquery-ui-datepicker

我正在使用Jquery datepicker,一切都运行正常,除了我在数据库中的任何事件之外,我都想要的样式。

我希望任何一天都有一个使用.my_class的样式的事件,而不是默认样式,它有不同的颜色。我希望这适用于其他几个月的日子,所以如果下个月的第一天发生了一个事件,那就是风格。

我已经用它来设计其他几个月的日子,以便我想要的东西,但在活动的日子里使用类似的东西是行不通的。

这可以通过改变其他月份的背景颜色来实现

.ui-datepicker-other-month.ui-state-disabled:not(.my_class) span {
    background: #fff;
    color: #b4b3b3;    
}

这不起作用

.ui-datepicker-other-month.ui-state-disabled .my_class span {
    background: #f00;
    color: #b4b3b3;    
}

这是datepicker的jquery,并将.my_class添加到任何具有事件的表格单元格

var selected_dates = new Array();
    // gets all the events from the database using AJAX
    selected_dates = getSelectedDates();

    $('#datepicker').datepicker({
        inline: true,
        dateFormat: 'yy-m-d',
        showOtherMonths: true,
        dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
        beforeShowDay: function (date)
        {
            // gets the current month, day and year
            // Attention: the month counting starts from 0 that's why you'll need to +1 to get the month right
            var mm = date.getMonth() + 1,
                dd = date.getDate(),
                yy = date.getFullYear();
            var dt = yy + "-" + mm + "-" + dd;

            if(typeof selected_dates[dt] != 'undefined')
            {
                // puts a special class to the dates in which you have events, so that you could distinguish it from the other ones
                // the "true" parameter is used to know which are the clickable dates
                return [true, " my_class"];
            }

            return [false, ""];
        },
        onSelect: function(date)
        {
            // puts the event's title in the dialog box
            $("#dialog").attr("title",selected_dates[date]['event_title']); // for the first time you open the popup
            $("#dialog").dialog("option","title",selected_dates[date]['event_title']);
            // puts the event's description text in the dialog box
            $("#dialog").text(selected_dates[date]['event_description']);
            // show the dialog box
            $("#dialog" ).dialog();
        }
    });

1 个答案:

答案 0 :(得分:0)

删除了空间,也许?不确定你的意思是什么......

.ui-datepicker-other-month.ui-state-disabled.my_class span {
    background: #f00;
    color: #b4b3b3;    
}