【问题标题】:difficulty translating C# code into jquery datepicker logic难以将 C# 代码转换为 jquery datepicker 逻辑
【发布时间】:2011-11-06 14:21:33
【问题描述】:

首先,感谢您抽出时间提供帮助。

我在服务器端有以下代码:

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 日期选择器的当前日期设置为今天的日期减去 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 时是否应该使用它。

谢谢大家!

【问题讨论】:

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


    【解决方案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 );
            }
        });
    });
    

    您还想为 from 选择器设置 minDate: "-6M"

    【讨论】:

    • 为什么?你不明白什么?
    • 我理解了 60% 的代码。我不明白我选择了“MinDate”或“MaxDate”等选项。我从这段代码中不明白的是在哪里设置我的问题中所述的业务规则?
    • 我只是不明白这是如何工作的。对不起。我会到处搜索答案。谢谢你的时间。我为你的努力投票赞成你的回答
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-23
    • 2012-03-24
    相关资源
    最近更新 更多