Magento日历:Datepicker问题在今天之前禁用几天

时间:2014-03-25 12:47:10

标签: javascript magento datepicker prototype

我在前端自定义Magento日历时遇到问题: 我想禁用今天之前的日子,这已经有效,但我无法在实际月份中选择日期。

但是,如果我点击下个月的任何一个日期并返回当月,那么我可以选择日期!!!!!!

这是我的代码:

function disabledDate(date) {
    var today = new Date();
    if(date <= today){
        return true;
    } else {
        return false;
    }
};
Calendar.setup({
    inputField : 'date',
    ifFormat : '%e/%m/%Y',
    button : 'date_from_trig',
    align : 'Bl',
    singleClick : true,
    dateStatusFunc : disabledDate 
}); 

感谢您的帮助。

5 个答案:

答案 0 :(得分:3)

问题解决了这样:

        function disabledDate(date) {
            var today = new Date();
            var dd = today.getDate();
            return date.getDate() < dd ;                    

        };

希望它可以帮助某人:)

答案 1 :(得分:2)

disableFunc: function(date) {
                  var now= new Date();

                if(date.getFullYear()<now.getFullYear())
                {
                    return true;
                }
                if(date.getFullYear()==now.getFullYear())
                {
                    if(date.getMonth()<now.getMonth())
                    {
                        return true;
                    }
                }
                if(date.getMonth()==now.getMonth())
                {
                    if(date.getDate()<now.getDate())
                    {
                        return true;
                    }
                }

答案 2 :(得分:1)

您可以禁用流行天数以及即将到来或当月的任何一天。

在disableFunc中 0表示星期日禁用 周一1 周二为2,等等。

以下是代码。

function dateRange(date) {
                        var now = new Date();
                        return (date.getTime() <= now.getTime() )
                      }

                     Calendar.setup({
                          inputField  : "aw_sarp_subscription_start",
                          ifFormat    : "%m/%e/%Y",
                          dateStatusFunc : dateRange,
                          button      : "aw_sarp_subscription_start_trig",
                          align       : "Bl",
                          disableFunc : function(date){
                                return date.getDay() === 0;
                              },
                          singleClick : true
                    });

答案 3 :(得分:0)

要禁用日历中的上一天和即将到来的日期,EX:要禁用所有前几天和即将到来的周末,

<doc>
    <p name="GGGG">AAAAA BBB<s/>CCC DDD<l/>EEEE<t/>FFFFF <style>GGGG</style> HHHHHH</p>
</doc>

答案 4 :(得分:0)

我希望这个脚本能帮到这个人:

<script type="text/javascript">
    Calendar.setup({
        inputField: 'your_input_field',
        ifFormat: '<?php echo $this->getDateTimeFormat();?>',
        button: 'you_button',
        showsTime: true,
        align: 'Bl',
        singleClick: true,
        disableFunc: function(date) {
        //disables all dates before current date 
            var now = new Date();
            if(date.getFullYear() < now.getFullYear()){
                return true;
            }
            if(date.getFullYear() == now.getFullYear() && date.getMonth() < now.getMonth()){
                return true;
            }
            if(date.getMonth() == now.getMonth() && date.getDate() < now.getDate()){
                return true;
            }
        }
    });
</script>