2012-02-25 1 views
0

두 개의 텍스트 상자에 jquery masked date input이로드되어 있습니다.jquery를 사용한 날짜 비교의 효율적이고 정확한 방법은 무엇입니까?

마스크 된 입력을 사용하면 값이 '/'로 구분되고 02/03/2011과 같은 형식으로 표시됩니다.

TO 날짜가 시작 날짜보다 낮아서는 안되며, 시작 날짜가 TO 날짜보다 커야하며 TO 날짜와 FROM 날짜가 같아야합니다. 경고 상자를 사용하여 사용자에게 값을 수정하도록 알립니다.

가장 좋은 방법은 무엇입니까?

답변

0

datepicker를 원하십니까? jsFiddle

$('#to_date, #frm_date').datepicker({ 
    onSelect: function(dateText, inst) { 
     var from, to, fromText, fromArray, toText, toArray; 

     fromText = $('#frm_date').val(); 
     toText = $('#to_date').val(); 

     if(fromText && toText){ 
      fromArray = fromText.split('/'); 
      toArray = fromText.split('/'); 
      from = new Date(parseInt(fromArray[2], 10), parseInt(fromArray[0], 10), parseInt(fromArray[1], 10)); 
      to = new Date(parseInt(toArray[2], 10), parseInt(toArray[0], 10), parseInt(toArray[1], 10)); 

      if(from.getTime() >= to.getTime()){ 
       alert('start after finish date!') 
      } 
     } 
    } 
}); 

또는과

베어 입력 :

$('#to_date, #frm_date').change(function() { 
    var from, to, fromText, fromArray, toText, toArray; 
    //same everything here 
}); 

2

당신은 JavaScript Date Object를 사용해야

  1. 는하여 setFullYear()와 Date 객체로 날짜를 변환하거나 날짜 기능의 생성자를 사용합니다.
  2. 날짜를 getTime() 함수와 비교하십시오.
관련 문제