2013-06-18 22 views
9

jemand könnte du mir helfen, Jungs. dies ist mein Codewie zu vergleichen zwei datepicker date jquery

var $from=$("#fromDate").datepicker('getDate'); 
var $to =$("#toDate").datepicker('getDate'); 
if($from>$to) 
    alert("from date shouldn't greater than To date"); 

es funktioniert, wenn es zwei Datum selben Jahr Jahr. andernfalls zum Beispiel fromDate = '1/12/2012' (TT/MM/JJJJ) bisDatum = '18/6/2013 '(TT/MM/JJJJ), während Sie die Bedingung überprüfen, funktioniert es nicht. es wirft Alarm, den ich gegeben habe.

+1

Mögliche doppelte ... http://stackoverflow.com/questions/492994/compare-dates-with -javascript –

+0

scheint mir gut http://jsfiddle.net/arunpjohny/kKh2J/1/ –

+1

herr Arun P Johny, die nicht richtig funktioniert. Könntest du es noch mal sehen –

Antwort

24

Kann ich vorschlagen, Ihre Daten stattdessen automatisch zu begrenzen? In diesem Beispiel können Sie im zweiten Kombinationsfeld kein niedrigeres Datum auswählen als das, das Sie auf dem ersten auswählen.

$(document).ready(function(){ 

    $("#txtFromDate").datepicker({ 

     numberOfMonths: 2, 

     onSelect: function(selected) { 

     $("#txtToDate").datepicker("option","minDate", selected) 

     } 

    }); 

    $("#txtToDate").datepicker({ 

     numberOfMonths: 2, 

     onSelect: function(selected) { 

     $("#txtFromDate").datepicker("option","maxDate", selected) 

     } 

    }); 

}); 

Hier ist ein funktionierendes demo

+2

Vielen Dank! Du hast meinen Tag gerettet! –

+0

Ich weiß, dass ich einen Kommentar für einen alten Beitrag hinzufüge, aber kann dieser ohne Jquery UI funktionieren? Im Moment benutze ich Jquery 1.9.1 und versuche Datepicker zu verwenden, aber wenn ich die UI von Ihrem JSFiddle abwende, funktioniert es nicht mehr. Irgendwelche Ideen? – Mkalafut

+0

Sehr nützlich! aber ich möchte wissen, wie man verhindert, wählen Sie den gleichen Tag in 'txtFromDate' Feld? Vielen Dank! – candlejack

2

Sie müssen dies verwenden, um den Tag/Monat/Jahr

var day1 = $("#datepicker").datepicker('getDate').getDate();     
     var month1 = $("#datepicker").datepicker('getDate').getMonth() + 1;    
     var year1 = $("#datepicker").datepicker('getDate').getFullYear(); 

Danach erhalten Sie die Werte vergleichen können.

0
Date.parse(fromDate) > Date.parse(toDate) 

excample

var sDate = $('#EFT_FRM_DATE').val(); 
    var sDate = $('#EFF_TO_DATE').val(); 

if (Date.parse(sDate) > Date.parse(eDate) || Date.parse(sDate) == Date.parse(eDate)) { 
     ShowMessage(CurrencySetupExchangeIndex.EndDateGreaterStartDate, 'Error'); 

    //alert 
     return false; 
     return; 
}