难以将C#代码转换为jquery datepicker逻辑

时间:2011-11-06 14:21:33

标签: c# jquery asp.net jquery-ui uidatepicker

首先,谢谢花时间帮忙。

我有以下代码服务器端:

if (!IsPostBack)
            {
                dateFrom.Date = dateTo.Date.AddMonths(-1);
                dateFrom.MinDate = dateTo.Date.AddMonths(-6);
                dateFrom.MaxDate = dateTo.Date;
                dateTo.Date = DateTime.Now;
                dateTo.MinDate = dateFrom.Date;
                dateTo.MaxDate = DateTime.Now;
            }

...

因此,当页面加载时,我想将dateFrom datepicker的当前日期设置为今天的日期减去1个月,将最短日期设置为从今天开始的-6个月。

此外,我有以下代码:

   protected void dateFrom_DateChanged(object sender, EventArgs e)
    {
        dateTo.MinDate = dateFrom.Date;
    }

    protected void dateTo_DateChanged(object sender, EventArgs e)
    {
        dateFrom.MinDate = dateTo.Date.AddMonths(-6);
        dateFrom.MaxDate = dateTo.Date;
    }

指出当从dateFrom日历中选择日期时,我想将DateTo callendar的最小日期设置为DateFrom日历的日期。

任何帮助或指示或建议将不胜感激。我想我必须使用jquery Datepicker的'onSelect'事件,但我不知道在初始化使用'option'API的datepicker时是否应该使用它。

谢谢你堆!

1 个答案:

答案 0 :(得分:1)

请参阅jQuery UI的Date Range sample,它正是您正在寻找的。

$(function() {
    var dates = $( "#from, #to" ).datepicker({
        defaultDate: "+1w",
        changeMonth: true,
        numberOfMonths: 3,
        onSelect: function( selectedDate ) {
            var option = this.id == "from" ? "minDate" : "maxDate",
                instance = $( this ).data( "datepicker" ),
                date = $.datepicker.parseDate(
                    instance.settings.dateFormat ||
                    $.datepicker._defaults.dateFormat,
                    selectedDate, instance.settings );
            dates.not( this ).datepicker( "option", option, date );
        }
    });
});

您还需要为来自选择器设置minDate: "-6M"