2010-01-12 84 views
0

我正在使用jquery bassistance驗證並需要驗證開始日期是在結束日期之後。我想知道是否有人知道這個功能是否存在,如果我可以添加規則來做到這一點,或者如果我不得不添加自定義檢查。我很難找到任何與我的代碼一起工作的例子,如果表單有效,它將轉發到另一個函數。 (粘貼在下面)Jquery bassistance:驗證結束日期是在開始日期後

$("#hotels").validate({ 
    rules: { 
     checkinDate: { 
      date: true 
     }, 
     checkoutDate: { 
      date: true 
     } 
    } 
}); 


$("#hotels input.submit").click(function() { 
    var isValid = $("#hotels").valid(); 
    if (isValid == true) { 
     } else { 
      hComp(); 
      return false; 
     } 
    } else { 
     return false; 
    } 
}); 

我在另一個例子中看到了這個,但我不知道如何使用它。

var startDate = new Date($('#startDate').val()); 
var endDate = new Date($('#endDate').val()); 

if (startDate < endDate){ 
// Do something 
} 

在此先感謝您的任何幫助。

回答

1

這個例子看起來正是你所需要的。看看here

從jQuery的例子借款,假設你有下面的HTML:「開始日期爲結束日期之前」

<input id="startDate" value="Jan 12, 2009" /> 
    <input id="endDate" value="Jan 12, 2010" /> 

然後這段JavaScript代碼應顯示警報(假設值沒有修改):

var startDate = new Date($('#startDate').val()); 
var endDate = new Date($('#endDate').val()); 

if (startDate < endDate){ 
    alert("Start date is before end date!"); 
} 
+0

感謝。這澄清了事情。我的日期格式是mm/dd/yy。我認爲這是問題。 – 2010-01-12 23:26:25

0

我最終在驗證之前解決了這個問題,無論如何這可能是一個更好的主意。這裏是使用jquery ui datepicker的解決方案。然後,我可以使用相同的邏輯來進行最終驗證檢查。

$('input').filter('.datepicker').datepicker({ 

beforeShow:customRange, showOn: '兩個', 按鈕畫面:的contextPath + '/assets/images/icon-calendar.gif', buttonImageOnly:真實, buttonText: '顯示的日期選擇器' });

function customRange(a){
var b = new Date();
var c = new Date(b.getFullYear(),b.getMonth(),b.getDate());
如果(a.id == 'checkoutDate'){
如果($( '#checkinDate')。日期選擇器( 'GETDATE')!= NULL){
C = $( '#checkinDate')。日期選擇器( 'GETDATE');
}
}
回報{
的minDate:C
}
}

相關問題