2015-05-08 12 views
20

Io attualmente sto creando un selettore di data in questo modoAscolto di onChange su un datepicker jQuery?

HTML

<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script> 
<input id="datepicker" type="datepicker" name="date" placeholder="Date" /> 

JS

$('#datepicker').datepicker() 
    .on("change", function (e) { 
    console.log("Date changed: ", e.target.value); 
}); 

Il mio obiettivo è quello di essere in grado di ascoltare per quando l'utente cancella la casella della data. Tuttavia, l'evento di modifica sembra sparare solo dopo aver sfocato la casella della data. Mi chiedo se c'è un modo per ascoltare tutte le modifiche in una casella data jQuery, o se ci sono alternative migliori.

JsFiddle link: https://jsfiddle.net/szkfm0y7/

+3

questo tipo non è un tipo valido. Potresti voler cambiarlo in testo e vedere se questo funziona per te. –

+1

Si prega di leggere l'input di tipo 'date' http://www.w3.org/TR/html-markup/input.date.html – odedta

+0

lol che grazie, tipo data è stato molto utile –

risposta

28

Utilizzare jquery su input insieme all'evento change su

$('#datepicker').datepicker() 
    .on("input change", function (e) { 
    console.log("Date changed: ", e.target.value); 
}); 

Fiddle

+0

Grazie, questo ha risolto il problema !!! –

+1

@JohnPizzo certo no prob! Felice codifica :) –

5

Ecco una possibile soluzione: https://jsfiddle.net/7atsua85/

Invece di e.target.value, uso $ (this) .VAL() come mostrato di seguito,

$('#datepicker').datepicker() 
    .on("change", function (e) { 
    //console.log("Date changed: ", e.target.value); 
    alert($(this).val()) 
});