【问题标题】:Jquery datepicker closeJquery 日期选择器关闭
【发布时间】:2014-01-24 16:55:51
【问题描述】:

我有兴趣使用来自http://jsfiddle.net/manishma/AVZJh/ 的这个weekpicker。在选择了我认为是默认行为的一周后,我无法关闭日期选择器。有什么建议吗?

$(function() {
    var startDate;
    var endDate;
    
    var selectCurrentWeek = function() {
        window.setTimeout(function () {
            $('.week-picker').find('.ui-datepicker-current-day a').addClass('ui-state-active')
        }, 1);
    }
    
    $('.week-picker').datepicker( {
        showOtherMonths: true,
        selectOtherMonths: true,
        onSelect: function(dateText, inst) { 
            var date = $(this).datepicker('getDate');
            startDate = new Date(date.getFullYear(), date.getMonth(), date.getDate() - date.getDay());
            endDate = new Date(date.getFullYear(), date.getMonth(), date.getDate() - date.getDay() + 6);
            var dateFormat = inst.settings.dateFormat || $.datepicker._defaults.dateFormat;
            $('#startDate').text($.datepicker.formatDate( dateFormat, startDate, inst.settings ));
            $('#endDate').text($.datepicker.formatDate( dateFormat, endDate, inst.settings ));
            
            selectCurrentWeek();
        },
        beforeShowDay: function(date) {
            var cssClass = '';
            if(date >= startDate && date <= endDate)
                cssClass = 'ui-datepicker-current-day';
            return [true, cssClass];
        },
        onChangeMonthYear: function(year, month, inst) {
            selectCurrentWeek();
        }
    });
    
    $('.week-picker .ui-datepicker-calendar tr').live('mousemove', function() { $(this).find('td a').addClass('ui-state-hover'); });
    $('.week-picker .ui-datepicker-calendar tr').live('mouseleave', function() { $(this).find('td a').removeClass('ui-state-hover'); });
});

【问题讨论】:

    标签: jquery datepicker jquery-events


    【解决方案1】:

    您可以在onSelect 函数的末尾添加$(this).hide();。但是,如果有人想更改星期,您可能还想为他们提供再次打开它的选项。

    这里的例子: http://jsfiddle.net/AVZJh/1515/

    【讨论】:

    • 我尝试在选择中添加隐藏,但这会在 HTML 中更新日期之前触发
    • 是的,我刚刚检查过,我会在我的项目中尝试。
    • 我使用 mousedown 事件来触发隐藏,这可能就是原因。
    • 很高兴它正在做你想做的事。编码愉快。
    猜你喜欢
    • 2010-11-17
    • 2019-09-28
    • 2011-07-29
    • 2018-07-27
    • 1970-01-01
    • 2012-05-29
    • 1970-01-01
    • 2013-05-29
    相关资源
    最近更新 更多