web-dev-qa-db-fra.com

Vous écoutez onChange sur un sélecteur de date jQuery?

Je crée actuellement un sélecteur de date comme ça

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);
});

Mon objectif est de pouvoir écouter lorsque l'utilisateur efface la case de la date. Toutefois, l'événement de modification ne semble se déclencher qu'une fois que vous avez débloqué la zone de date. Je me demande s'il existe un moyen d'écouter toutes les modifications dans une boîte de date jQuery, ou s'il existe de meilleures alternatives.

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

22
John Pizzo

Utilisez jquery sur input avec l'événement on change

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

Violon

31

Voici une solution possible: https://jsfiddle.net/7atsua85/

Au lieu de e.target.value, utilisez $ (this) .val () comme indiqué ci-dessous,

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