8

早上好,我想动态控制我的日期选择器的 maxDate。例如。:我的表格上有一个日期,文本框的值为 20/12/12。

我试过了,但没有用,日历从我在文本框上的日期开始禁用 maxDate。你能帮我解决这个问题吗:

$(function() { 
    var date = new Date(); 
    var m = date.getMonth(), d = date.getDate(), y = date.getFullYear(); 
    $("#Panel2nrFecha").datepicker({ 
        minDate: new Date(y, m, d), 
        maxDate: $("#Panel2nrTextBox1").val(), 
        dateFormat: "dd/mm/y", 
        defaultDate: "+1w", 
        changeMonth: true, 
        numberOfMonths: 3 
    }); 
}); 
4

3 回答 3

13

初始化日期选择器后,您可以maxDate像这样更改选项:

$("#Panel2nrFecha").datepicker('option', 'maxDate', $("#Panel2nrTextBox1").val() );
于 2012-11-12T12:45:17.777 回答
4

使用beforeShowdatepicker 的属性设置最小和最大日期,如本教程 jQuery UI Datepicker v3.4.3 Examples - Date range by Marc Grabanski 和 Keith Wood 所述:

$("#Panel2nrFecha").datetimepicker({
    beforeShow: customRange,
    dateFormat: "dd/mm/y", 
    defaultDate: "+1w", 
    changeMonth: true, 
    numberOfMonths: 3 
});

function customRange(input) {
    return { minDate: (input.id == 'Panel2nrMinDateTextBox' ? $('#Panel2nrMinDateTextBox').datepicker('getDate') : null),
        maxDate: (input.id == 'Panel2nrMaxDateTextBox' ? $('#Panel2nrMaxDateTextBox').datepicker('getDate') : null)
    };
}
于 2012-11-12T12:44:34.427 回答
1

如果不发布一些 HTML,我不确定这是否能解决您的问题,但您是否尝试过:

$(function() { 
    var date = new Date();  
    $("#Panel2nrFecha").datepicker({ 
        minDate: date, 
        maxDate: new Date($("#Panel2nrTextBox1").val()), 
        dateFormat: "dd/mm/y", 
        defaultDate: "+1w", 
        changeMonth: true, 
        numberOfMonths: 3 
    }); 
});

请注意,我已经删除了y,md变量,并且还添加了 datepickernew Date()maxDate属性。

于 2012-11-12T12:44:09.700 回答