我找到的只是日期采摘(小)或日历(全屏大).我的网页需要的是那里有一个小日历和一个简单的鼠标悬停,它会显示我希望它显示的文本.
这样的事情存在吗?
解决方法
Datepicker具有一些内置功能,可以帮助您实现目标.具体来说,beforeShowDay
事件将让您自定义每天的外观和行为,而不需要太多代码:
>创建一个包含可以从datepicker的事件处理程序引用的事件的对象:
var Event = function(text,className) { this.text = text; this.className = className; }; var events = {}; events[new Date("02/14/2011")] = new Event("Valentines Day","pink"); events[new Date("02/18/2011")] = new Event("Payday","green");
此代码只创建一个对象,其中“keys”是事件日期,“values”是事件数据.
>要使datepicker小部件始终显示(例如,不需要输入),只需将小部件应用于div:
HTML:
<div id="dates"></div>
JavaScript的:
$("#dates").datepicker({....});
>点击beforeShowDay事件,并返回相应的数组. datepicker将自动应用您指定的工具提示和类.这是我们上面定义的Event对象派上用场的地方:
$("#dates").datepicker({ beforeShowDay: function(date) { var event = events[date]; if (event) { return [true,event.className,event.text]; } else { return [true,'','']; } } });
这可能是最棘手的部分. beforeShowDay事件处理程序希望您返回一个如下结构的数组:
[ 0 ] equal to true/false indicating
whether or not this date is
selectable,[ 1 ] equal to a CSS class
name(s) or ” for the default
presentation,and [ 2 ] an optional
popup tooltip for this date.
所以我们正在做的是在传递给处理beforeShowDay事件的函数的日期查找事件,并从事件对象返回数据(如果存在).
它看起来很多,但是当你把它们放在一起时它并不是太糟糕.看看这里的例子:http://jsfiddle.net/andrewwhitaker/rMhVz/1/
注意CSS类必须使用!important来覆盖datepicker的默认背景,并实际应用于日期trs内的a标签