javascript - posteriores - jquery datetimepicker example
Bootstrap datepicker no se cierra automáticamente después de elegir una fecha (11)
- Simplemente abre el bootstrap-datepicker.js
- find: var defaults = $ .fn.datepicker.defaults (Línea 1391 en mi caso)
- establecer autoclose: verdadero
Guarde y actualice su proyecto y esto debería hacer.
Yo uso el último datesticker.js Bootstrap. Todo funciona bien, excepto que cuando selecciono una fecha del menú desplegable, no se cierra automáticamente. Busqué en la web e intenté usar la siguiente función en mi javascript como la siguiente:
$(''#selectDate'').datepicker({
autoclose: true
}).on(''changeDate'', function (ev) {
(ev.viewMode == ''days'') ? $(this).datepicker(''hide'') : '''';
});
pero cuando uso las herramientas de Google Chrome Dev, me di cuenta de que ev.viewmode no estaba definido. No estoy seguro de cómo avanzar.
// 10000% de trabajo Vaya al archivo bootstrap-datepicker.js
Busca esto:
''mousedown touchstart'': $.proxy(function(e){
// Clicked outside the datepicker, hide it
if (!(
this.element.is(e.target) ||
this.element.find(e.target).length ||
this.picker.is(e.target) ||
this.picker.find(e.target).length
)) {
this.hide(); //remove this
}
}, this)
}]
];
},
Cuando se desplaza sobre el div con la clase defaultdatepicker. Aparecerá el control de calendario. En Mouseleave desaparecerá.
$(document).on("focus", ".defaultdatepicker", function () {
$(this).datepicker({
format: ''dd/mm/yyyy'',
todayHighlight: ''TRUE'',
autoClose: true,
});
$(''#datepicker'').css({ "opacity": "1" });
});
$(''.defaultdatepicker'').on(''mouseleave'', function () {
$(''.datepicker'').fadeOut(function () {
$(''.formattedStartDate'').attr(''class'', ''formattedStartDate'');
$(''#datepicker'').css({ "opacity": "0" });
});
});
Esto es trabajo para mí.
$(".date-picker").datepicker( {
format: "yyyy-mm-dd",
}).on(''change'', function (ev) {
$(this).datepicker(''hide'');
});
Esto funciono para mi
$(".date-picker").change(function() {
setTimeout(function() {
$(".date-picker").datepicker(''hide'');
$(".date-picker").blur();
}, 50);
});
Ninguno de los anteriores funcionó para mí, sin embargo, al anular la opción predeterminada del selector de fecha funcionó a la perfección, y es de una sola línea:
$.fn.datepicker.defaults.autoclose = true;
Para mí, resultó ser un error tipográfico en la documentación de bootstrap-datepicker. En lugar de "autoclose: true", es "autoClose: true".
Espero eso ayude.
Prueba esto:
$(''#selectDate'').datepicker().on(''changeDate'', function(ev)
{
$(''.datepicker'').hide();
});
Prueba esto:
$(''#selectDate'').datepicker()
.on(''changeDate'', function(ev){
$(''#selectDate'').datepicker(''hide'');
});
Actualizar:
autoclose
funciona bien cuando usas la versión actualizada de datepicker presente en github:
Si tiene varios cuadros de texto para los que ha aplicado el selector de fechas, entonces la solución anterior puede causar problemas. Por favor, intente esto en su lugar,
$(''.datepicker'').datepicker({
format: "dd/mm/yyyy",
autoclose: true,
}).on(''changeDate'', function (ev) {
$(this).datepicker(''hide'');
});
Mira esto, https://github.com/eternicode/bootstrap-datepicker/issues/500
Nota: No olvide que estamos usando el selector de clase de jQuery, por lo que debe aplicar la clase datepicker a su cuadro de texto.
Agregué autoclose: verdadero, (con una coma al final y funciona)
$(''.datepicker'').datepicker({
format: ''dd/mm/yyyy'',
todayHighlight:''TRUE'',
autoclose: true,
})