【问题标题】:Jquery UI Datepicker Date Range Inline ProblemJquery UI Datepicker 日期范围内联问题
【发布时间】:2010-05-08 17:12:02
【问题描述】:

大家好,

我对 jQuery UI Datepicker 有一个大问题。

我有两个输入字段“从日期”和“截止日期”。当我选择起始日期时,“截止日期”选择器上应显示只有 5 天的日期范围。

我使用了来自“Russ Cam”jQuery datepicker- 2 inputs/textboxes and restricting range的代码

效果很好。

现在是我的问题:

我有第二个日历,它是内联的,意味着没有输入字段 - 它直接显示在页面上 - 带有“从日期”和“截止日期”。在这个日历中,脚本不起作用! “开始日期”和“截止日期”中的所有字段都可用 - 没有日期范围限制或其他内容。

这里有什么问题?谁能给我一个提示?

【问题讨论】:

  • 你能把实际的 HTML 和 JS 代码发给你吗!?

标签: jquery user-interface uidatepicker jquery-ui-datepicker


【解决方案1】:

aSeptik:

肯定是的:

这是我的 HTML 代码:

                <div class="calendars">
                    <div class="left">
                        <span class="head">Anreise</span>
                        <div id="navfrom"></div>
                    </div>

                    <div class="right">
                        <span class="head">Abreise</span>
                        <div id="navto"></div>
                    </div>
                </div> 

我的 JS 代码:

    $('#navfrom, #navto').datepicker(
    {
        beforeShow: customRangeInline,
        dateFormat: "dd.mm.y",
        firstDay: 1, 
        changeFirstDay: false
    });

还有 CustomRangeInline 函数:

function customRangeInline(input) 
{ 
        var min = new Date(2008, 11 - 1, 1);
        var dateMin = min;
        var dateMax = null;
        var dayRange = 5;

        if (input.id == "navfrom") 
        {
            if ($("#navto").datepicker("getDate") != null)
            {                
                dateMin = $("#navto").datepicker("getDate");
                dateMin.setDate(dateMin.getDate());
                if (dateMin < min)
                {
                    dateMin = min;
                }
             }                   
        }
        else if (input.id == "navto")
        {
                dateMax = new Date(); //Set this to your absolute maximum date

                if ($("#navfrom").datepicker("getDate") != null)
                {
                        dateMin = $("#navfrom").datepicker("getDate");
                        var rangeMax = new Date(dateMin.getFullYear(), dateMin.getMonth(), dateMin.getDate() + dayRange);

                        if(rangeMax > dateMax)
                        {
                            dateMax = rangeMax; 
                        }
                }
        }
        return {
                minDate: dateMin, 
                maxDate: dateMax
        }; 
}

【讨论】:

  • 建议;将您遇到问题的代码放入原始帖子中,而不是作为您自己问题的答案。此网站不是论坛。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-16
  • 1970-01-01
相关资源
最近更新 更多