2011-11-29 18 views
37

Tutti, Sto utilizzando l'interfaccia utente jQuery per il selettore di date. Sto provando a controllare con javascript anche se la data in cui l'utente ha inserito è nel passato. Ecco il mio codice di forma:Verifica se la data è nel passato Javascript

<input type="text" id="datepicker" name="event_date" class="datepicker"> 

Quindi come faccio a verificare questo con Javascript per assicurarsi che non sia una data nel passato? Grazie

risposta

92

$('#datepicker').datepicker().change(evt => { 
 
    var selectedDate = $('#datepicker').datepicker('getDate'); 
 
    var now = new Date(); 
 
    now.setHours(0,0,0,0); 
 
    if (selectedDate < now) { 
 
    console.log("Selected date is in the past"); 
 
    } else { 
 
    console.log("Selected date is NOT in the past"); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script> 
 
<input type="text" id="datepicker" name="event_date" class="datepicker">

+2

Vuoi dire 'var now = new Date()', con uno spazio dopo 'new'? – jfriend00

+0

Ha funzionato bene, grazie. – user1048676

+6

Il one-liner: 'if ($ ('# datepicker'). Datepicker ('getDate') davidchambers

-3
function isPrevDate() { 
    alert("startDate is " + Startdate); 
    if(Startdate.length != 0 && Startdate !='') { 
     var start_date = Startdate.split('-'); 
     alert("Input date: "+ start_date); 
     start_date=start_date[1]+"/"+start_date[2]+"/"+start_date[0]; 
     alert("start date arrray format " + start_date); 
     var a = new Date(start_date); 
     //alert("The date is a" +a); 
     var today = new Date(); 
     var day = today.getDate(); 
     var mon = today.getMonth()+1; 
     var year = today.getFullYear(); 
     today = (mon+"/"+day+"/"+year); 
     //alert(today); 
     var today = new Date(today); 
     alert("Today: "+today.getTime()); 
     alert("a : "+a.getTime()); 
     if(today.getTime() > a.getTime()) 
     { 
      alert("Please select Start date in range"); 
      return false; 
     } else { 
      return true; 
     } 
    } 
} 
+1

da dove arriva la var Startdate? –

3
var datep = $('#datepicker').val(); 

if(Date.parse(datep)-Date.parse(new Date())<0) 
{ 
    // do something 
} 
Problemi correlati