2012-10-15 39 views
1

我有一個MVC應用程序。我的頁面包含兩個日期時間picker.start日期和結束日期。我的要求是, 當有人選擇開始日期時,結束日期應計算爲開始日期+10天。MVC日期時間選擇器驗證

還有一個條件,結束日期不應該小於開始日期。 我怎麼可能?

$(文件)。就緒(函數(){

$("#txtstartdate").datepicker 
     ({ 
      dateFormat: 'mm/dd/yy', 
      showAnim: "slideDown", 
      showOptions: { 
       origin: ["top", "left"] 
      } 
     }); 

    $("#txtEnddate").datepicker 
     ({ 
      dateFormat: 'mm/dd/yy', 
      showAnim: "slideDown", 
      showOptions: { 
       origin: ["top", "left"] 
      } 
     }); 

}); 

我使用jQuery日期時間選擇器。

我只是用javascript代碼,但是當我選擇日期時間選擇器總是顯示prevoius選擇date.how我才能選擇上選擇日期時間選擇器日期

回答

0

試試這個:

$(function() 
{ 
    $('#txtStartDate, #txtEndDate').datepicker(
    { 
     showOn: "both", 
     beforeShow: customRange, 
     dateFormat: 'mm/dd/yy', 
     showAnim: "slideDown", 
     showOptions: { 
      origin: ["top", "left"] 
     }, 
     firstDay: 1, 
     changeFirstDay: false 
    }); 

}); 

function customRange(input) 
{ 
    var min = new Date(2008, 11 - 1, 1); //the absolute minimum date 
     var dateMin = min; 
     var dateMax = null; 
     var dayRange = 10; //range of days 


     if (input.id == "txtStartDate") 
     { 
      if ($("#txtEndDate").datepicker("getDate") != null) 
      { 
       dateMax = $("#txtEndDate").datepicker("getDate"); 
       dateMin = $("#txtEndDate").datepicker("getDate"); 
       dateMin.setDate(dateMin.getDate() - dayRange); 
       if (dateMin < min) 
       { 
         dateMin = min; 
       } 
      } 
      else 
      { 
       dateMax = new Date(); //the absolute maximum date 
      }      
     } 
     else if (input.id == "txtEndDate") 
     { 
       dateMax = new Date(); //the absolute maximum date 
       if ($("#txtStartDate").datepicker("getDate") != null) 
       { 
         dateMin = $("#txtStartDate").datepicker("getDate"); 
         var rangeMax = new Date(dateMin.getFullYear(), dateMin.getMonth(), dateMin.getDate() + dayRange); 

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

}​ 

DEMOhttp://jsfiddle.net/XdFpg/

+0

感謝reply..this代碼幾乎worked.but的問題是,我想打印日期seletced,但它再次顯示了一個日期因此希望任何情況下,如「aftershow」?不在這裏。 –

+0

是得到了解決方案..我使用「onSelect」方法..現在我得到當前選定的日期...謝謝... –