Solución:
Tienes que usar el change
evento en la propia entrada si desea responder a la entrada manual, porque el changeDate
El evento es solo para cuando se cambia la fecha usando el selector de fecha.
Prueba algo como esto:
$(document).ready(function() {
$('.datepicker').datepicker({
format: "yyyy-mm-dd",
})
//Listen for the change even on the input
.change(dateChanged)
.on('changeDate', dateChanged);
});
function dateChanged(ev) {
$(this).datepicker('hide');
if ($('#startdate').val() != '' && $('#enddate').val() != '') {
$('#period').text(diffInDays() + ' d.');
} else {
$('#period').text("-");
}
}
En la versión 2.1.5
- bootstrap-datetimepicker.js
- http://www.eyecon.ro/bootstrap-datepicker
- Contribuciones:
- Andrew Rowls
- Thiago de Arruda
- actualizado para Bootstrap v3 por Jonathan Peterson @Eonasdan
changeDate ha sido renombrado a change.dp así que changedate no me funcionó
$("#datetimepicker").datetimepicker().on('change.dp', function (e) {
FillDate(new Date());
});
también es necesario cambiar la clase css de datepicker a datepicker-input
<div id='datetimepicker' class="datepicker-input input-group controls">
<input id='txtStartDate' class="form-control" placeholder="Select datepicker" data-rule-required='true' data-format="MM-DD-YYYY" type="text" />
<span class="input-group-addon">
<span class="icon-calendar" data-time-icon='icon-time' data-date-icon='icon-calendar'></span>
</span>
</div>
El formato de fecha también funciona en mayúsculas como este formato de datos = “MM-DD-AAAA”
podría ser útil para alguien que me hizo pasar un mal rato 🙂
La nueva versión ha cambiado … para la última versión use el siguiente código:
$('#UpToDate').datetimepicker({
format:'MMMM DD, YYYY',
maxDate:moment(),
defaultDate:moment()
}).on('dp.change',function(e){
console.log(e);
});
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)