Você pode usar o onSelect
evento do datepicker .
$(".date").datepicker({
onSelect: function(dateText) {
console.log("Selected date: " + dateText + "; input's current value: " + this.value);
}
});
Exemplo ao vivo :
$(".date")
.datepicker({
onSelect: function(dateText) {
console.log("Selected date: " + dateText + "; input's current value: " + this.value);
}
})
.on("change", function() {
console.log("Got change event from field");
});
<link href="http://code.jquery.com/ui/1.9.2/themes/smoothness/jquery-ui.css" rel="stylesheet" />
<input type='text' class='date'>
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
Infelizmente, é onSelect
acionado sempre que uma data é selecionada, mesmo que não tenha sido alterada. Essa é uma falha de design no datepicker: sempre é acionada onSelect
(mesmo que nada tenha sido alterado) e não dispara nenhum evento na entrada subjacente na alteração. (Se você procurar no código desse exemplo, estamos ouvindo as alterações, mas elas não estão sendo levantadas.) Provavelmente, deve disparar um evento na entrada quando as coisas mudarem (possivelmente o change
evento usual ou possivelmente um datepicker- específico).
Se você quiser, é claro, pode fazer o change
evento pegar input
fogo:
$(".date").datepicker({
onSelect: function() {
$(this).change();
}
});
Isso será acionado change
no subjacente input
para qualquer manipulador conectado via jQuery. Mas, novamente, sempre dispara. Se você deseja acionar apenas uma alteração real, precisará salvar o valor anterior (possivelmente via data
) e comparar.
Exemplo ao vivo :
$(".date")
.datepicker({
onSelect: function(dateText) {
console.log("Selected date: " + dateText + "; input's current value: " + this.value);
$(this).change();
}
})
.on("change", function() {
console.log("Got change event from field");
});
<link href="http://code.jquery.com/ui/1.9.2/themes/smoothness/jquery-ui.css" rel="stylesheet" />
<input type='text' class='date'>
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>