提问者:小点点

如何从不同的datepicker为datepicker设置minDate,setDate,defaultDate?


我有两个日期选择器“一个范围”,第一个选择器是“pre_from”日期,第二个是“pre_to”日期。但是,我想在这里做的是将“pre_to”选择器minDate发送到=“pre_from”selectedate。此外,我还想将“pre_to”选择器设置为“pre_from”所选月份的最后一天。

我已经向“pre_from”datepicker的“onclose”函数添加了一段代码,该代码应该设置“pre_to”。但它并不像我预期的那样起作用。由于某种原因,它没有设置默认的选择日期和当前选择的值。

下面是我的尝试。

$(function(){

function LastDayOfMonth(Year, Month) {
    return new Date( (new Date(Year, Month+1,1))-1 );
}


    $('#pre_from').datepicker({
        dateFormat: "yy-mm-dd",
        changeMonth: true,
        changeYear: true,
        onClose: function( selectedDate ) {
            var d = $.datepicker.parseDate("yy-mm-dd",  selectedDate);
            var last_day = LastDayOfMonth(d.getFullYear(), d.getMonth());

                //setDate: new Date(last_day.getFullYear(), last_day.getMonth(), last_day.getDay() ),
                //defaultDate: new Date(last_day.getFullYear(), last_day.getMonth(), last_day.getDay() )

            $( "#pre_to" ).datepicker({ 
                minDate: selectedDate,
                setDate: last_day,
                defaultDate: last_day
            }); 
        }   
    });

    $('#pre_to').datepicker({
        dateFormat: "yy-mm-dd",
        changeMonth: true,
        changeYear: true,
        onClose: function( selectedDate ) {
            $( "#pre_from" ).datepicker( "option", "maxDate", selectedDate );
        }       
    }); 

});

我在这里做错了什么?

谢谢


共1个答案

匿名用户

我终于想通了

我不得不将$(“#pre_to”).datepicker({更改为$(“#pre_to”).datepicker(“option”,{

$(function(){

function LastDayOfMonth(Year, Month) {
    return new Date( (new Date(Year, Month+1,1))-1 );
}


    $('#pre_from').datepicker({
        dateFormat: "yy-mm-dd",
        changeMonth: true,
        changeYear: true,
        onClose: function( selectedDate ) {
            var d = $.datepicker.parseDate("yy-mm-dd",  selectedDate);
            var last_day = LastDayOfMonth(d.getFullYear(), d.getMonth());

            $( "#pre_to" ).datepicker("option", { 
                minDate: selectedDate,
                setDate: last_day,
                defaultDate: last_day
            }); 
        }   
    });

    $('#pre_to').datepicker({
        dateFormat: "yy-mm-dd",
        changeMonth: true,
        changeYear: true,
        onClose: function( selectedDate ) {
            $( "#pre_from" ).datepicker( "option", "maxDate", selectedDate );
        }       
    }); 

});