2010-05-08 58 views
1

嗨,jQuery UI的日期選擇日期直列式問題

我有jQuery UI的日期選擇器的一個大問題。

我有兩個輸入字段「從日期」和「到日期」。當我選擇一個起始日期 - 只有5天的日期範圍應該出現在「迄今」選取器上。

我使用的代碼從「拉斯凸輪」 jQuery datepicker- 2 inputs/textboxes and restricting range

它完美。我現在的問題

我有第二個日曆是INLINE,意味着沒有輸入字段 - 它直接顯示在頁面上 - 與「從日期」和「結束日期」。在此日曆中,腳本不起作用! 「From date」和「To Date」中的所有字段都可用 - 無日期範圍限制或其他內容。

這裏有什麼問題?有人可以給我一個提示嗎?

+0

你可以發佈你的實際的HTML和JS代碼!? – 2010-05-08 17:17:12

回答

0

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 
     }; 
} 
+1

建議;把你有問題的代碼放到你原來的帖子裏,而不是回答你自己的問題。本網站不是論壇。 – 2010-06-12 14:05:06