点击eventpicker中仅突出显示日期的事件

时间:2014-11-27 13:13:34

标签: javascript jquery datepicker

我用

更改了datepicker中高亮显示Days的背景颜色
beforeShowDay       : highlightDays, // it add a class name 'highlightdays'

它运作良好但是现在我想在点击它们时对这些亮点日进行一些处理

我尝试下面的代码,但它不起作用

    $( ".highlightdays" ).click(function(e) {  
        //..
    } );

我发现我必须使用

onSelect            : afterclick

但这是我的问题,这个功能选择所有日子甚至非高亮日子!

2 个答案:

答案 0 :(得分:0)

最好将onSelect : afterclickevent.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, ''];
        }
    });