2017-09-05 5 views
0

Ich benutze jQuery UI Datepicker, ich versuche, eine Warnung anzuzeigen, wenn der Benutzer auf das heutige Datum oder ein Datum vor dem heutigen Datum klickt, aber ich weiß nicht wie schaffte ich es jeden Tag Onchange zurückzuholen, aber ich den Rest nicht tun, hier ist meine jQuery-Code für das heutige Datum der Auswahl:jQuery UI Datepicker erhalten das heutige Datum oder vorhergehende Datum

$(document).on("change", "#datepicker", function() { 
    alert($(this).val()) 
}) 
+0

Sie Javascript Datum haben() verwenden Funktionen, vergleichen, dann diesen Wert, den Sie, dass bekam oder Daten weniger als die heutigen oder früheren Datum – clearshot66

+0

@ j08691 danke für den Sarkasmus :) – clearshot66

+0

@ clearshot66 gut, bevor Sie Ihren Kommentar von "Sie müssen JavaScript" geändert haben, war es passender – j08691

Antwort

0
This code find currrent date and if block compare the selected date is current date or not and then prompt alert! 

    <!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <title>jQuery UI Datepicker - Default functionality</title> 
    <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> 
    <link rel="stylesheet" href="/resources/demos/style.css"> 
    <script src="https://code.jquery.com/jquery-1.12.4.js"></script> 
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> 
    <script> 
    $(function() { 
    $("#datepicker").datepicker(); 
var today = new Date(); 
var date = today.getDate(); 
var mnth = today.getMonth()+1; 

var yyyy = today.getFullYear(); 
if(date<10){ 
    date='0'+date; 
} 
if(mnth<10){ 
    mnth='0'+mnth; 
} 
var today = mnth+'/'+date+'/'+yyyy; 
alert(today); // Display current date 


    $(document).on("change", "#datepicker", function() { 
     if($(this).val()<=today) 
     { 
     alert($(this).val()) 
     } 
    }); 

    }); 


    </script> 
</head> 
<body> 

<p>Date: <input type="text" id="datepicker"></p> 


</body> 
</html> 
+0

Ich möchte das heutige Datum onclick nicht auf laden abrufen, und diesen Code re trieves Daten nach dem heutigen Datum, ich möchte nur vorherige Daten – jessica

0

Sie können einfach Datum mit getDate Methode ausgewählt bekommen und den Vergleich mit aktuelle Uhrzeit. Sie können JavaScript Datum valueOf() verwenden, um zu erhalten:

Die Anzahl der Millisekunden zwischen dem 1. Januar 1970 00:00:00 UTC und dem angegebenen Datum.

hier ein funktionstüchtiges Beispiel:

$('#datepicker').datepicker(); 
 

 
$(document).on("change", "#datepicker", function() { 
 
    // Get datepicker value 
 
    var selectedDate = $(this).datepicker("getDate"); 
 
    // Get current time 
 
    var today = new Date().valueOf(); 
 
    // Compare current time and selected date 
 
    if(selectedDate && selectedDate.valueOf() < today){ 
 
    alert('You selected a past date: ' + $(this).val()) 
 
    } 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.js"></script> 
 
<link href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.css" rel="stylesheet"/> 
 

 
<input type="text" id="datepicker">

Verwandte Themen