我用
更改了datepicker中高亮显示Days的背景颜色beforeShowDay : highlightDays, // it add a class name 'highlightdays'
它运作良好但是现在我想在点击它们时对这些亮点日进行一些处理
我尝试下面的代码,但它不起作用
$( ".highlightdays" ).click(function(e) {
//..
} );
我发现我必须使用
onSelect : afterclick
但这是我的问题,这个功能选择所有日子甚至非高亮日子!
答案 0 :(得分:0)
最好将onSelect : afterclick
与event.currenttarget和.hasClass()一起使用,如下所示。
- 使用
function afterclick(event){
if(event.currentTarget.hasClass("highlightdays")){
// highlightdays Stuff here
}
}
答案 1 :(得分:0)
http://jsfiddle.net/3960ykdj/3/
$("#datepicker2").datepicker({
onSelect: function (dateString) {
//string to date
var date = new Date(dateString);
//get day
var d = date.getDate();
//get TD which contains day as a string
var $td = $('.ui-datepicker-calendar td a:contains("' + d + '")').parents('td');
//if is highlightdays: do something
if($td.hasClass('highlightdays'))
alert('do something');
},
beforeShowDay: function (date) {
var myDate = new Date(date);
var d = date.getDate()
var cls = '';
if (d > 20 && d < 25) cls = 'highlightdays';
return [true, cls, ''];
}
});