如何更改jquery日期选择器的单元格颜色

时间:2010-05-25 15:53:03

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

我有一个jquery datepicker,我需要能够更改所选单元格日期的背景颜色。我正在尝试类似的事情:

    $("#fecha").datepicker({ 
          onSelect: function(value, date) { 
             alert(date.css());
          } 
    });

希望date参数引用所选的单元格,但它似乎不起作用。

有什么建议吗?

//编辑: 解决方案应该让我拥有动态设置不同颜色的不同单元格,这就是我尝试使用onSelect而不是直接更改CSS的原因。

目的是让日历包含用户建立的事件。

提前致谢。

4 个答案:

答案 0 :(得分:11)

我认为最好的方法(假设我已经正确理解你)就是简单地覆盖css 在您的网站样式表或html head部分中,您只需覆盖以下css选择器

.ui-datepicker-current-day .ui-state-active { background: #000000; }

修改

考虑到您的编辑,以下内容应该有效(假设您可以让日期选择器停止刷新)

onSelect: function(value, date) {
    date.dpDiv.find('.ui-datepicker-current-day a')
        .css('background-color', '#000000');
}

答案 1 :(得分:1)

在您的CSS中更改班级.ui-datepicker-current-day

答案 2 :(得分:1)

在我的情况下,我需要删除活动类,所以:

$("#datepicker").datepicker({
  onSelect: function(dateText, inst) {
    setTimeout(function(){
      inst.dpDiv.find('.ui-datepicker-current-day a').removeClass('ui-state-active');
    }, 50);
  }
});

答案 3 :(得分:0)

默认情况下,datepicker遵循您的主题。但你可以覆盖任何东西。

ui-state-active是您选择日期的样式。 ui-state-highlight是用于标识当前日期的样式。

所以做这样的事情:

#ui-datepicker-div .ui-state-active {color: #FFFFCC;}

#ui-datepicker-div .ui-state-highlight {color: #DCDCDC;}

您可以将此css添加到页面或调整主题本身。