2011-05-18 40 views
8

比方说,我希望2011年5月2日(或任何其他日子)的颜色与其他日子不同。这可能吗?有没有一种方法来设计jQuery的日期选择日子?

这是一个特殊的日子

<td class=" " onclick="DP_jQuery_1305738227207.datepicker._selectDay('#datepicker',4,2011, this);return false;"><a class="ui-state-default ui-state-hover" href="#">11</a></td> 

我不知道是否有任何方式覆盖日期选择器如何为每天创建IDS /类的例子项目。

+0

也许。如果您提供标记,这将有所帮助。 – 2011-05-18 17:02:59

+0

只是那一天,永远只有那一天,还是有多个/不同的日子? – 2011-05-18 17:06:03

+0

多个/不同的日子 – joslinm 2011-05-18 17:06:32

回答

7

工作实例:http://jsfiddle.net/hunter/UBPg5/


您可以通过添加一个beforeShowDay回调

绑定回调做到这一点:

$("input:text.date").datepicker({ 
    beforeShowDay: SetDayStyle 
}); 

与坏一些静态数组创建功能日期或在其他地方构建此数组:

var badDates = new Array("5/2/2011"); 
function SetDayStyle(date) { 
    var enabled = true; 
    var cssClass = ""; 

    var day = date.getDate(); 
    var month = date.getMonth() + 1; //0 - 11 
    var year = date.getFullYear(); 
    var compare = month + "/" + day + "/" + year; 

    var toolTip = badDates.indexOf(compare) + " " + compare 

    if (badDates.indexOf(compare) >= 0) cssClass = "bad"; 

    return new Array(enabled, cssClass, toolTip); 
} 

创建风格

.bad { background: red; } 
.bad a.ui-state-active { background: red; color: white; } 

http://jqueryui.com/demos/datepicker/#event-beforeShowDay

该函数采用一个日期作为参数,并必须返回[0]等于真/假指示是否阵列或者不是这个日期是可选择的,[1]等同于CSS类名称或''用于默认演示文稿,[2]此日期的可选弹出式工具提示。在日期选择器显示之前每天都会调用它。

+3

我创建了一个jsfiddle示例:http://jsfiddle.net/brian3f/XuuNC/ – 2011-05-18 17:35:30

+0

这太好了,非常感谢。 – joslinm 2011-05-18 18:19:40

+0

没问题,直到今天还不知道,但我可以看到一些很酷的应用程序 – hunter 2011-05-18 18:25:41

相关问题