Necesitamos tu ayuda para difundir nuestros tutoriales con relación a las ciencias de la computación.
Solución:
Después de más depuración e intentos de rastrear eventos de jQuery, probé si el problema existía con jQuery UI 1.9.2, y no era así. Luego comparé los relevantes datepicker
líneas de código que no implicaban demasiados cambios reales.
Para resumir, el problema descrito en mi pregunta anterior podría solucionarse cambiando una sola línea de código de 1.10.2 a lo que era en 1.9.2:
1.10.2 causando problemas
/* Initialise the date picker */
if (!$.datepicker.initialized)
$(document).mousedown($.datepicker._checkExternalClick);
$.datepicker.initialized = true;
1.9.2. versión, funcionando como se esperaba
/* Initialise the date picker */
if (!$.datepicker.initialized)
$(document).mousedown($.datepicker._checkExternalClick)
// !!!!!!!!!!
// The next code line has to be added again so that the date picker
// shows up when the popup is opened more than once without reloading
// the "base" page.
// !!!!!!!!!!
.find(document.body).append($.datepicker.dpDiv);
$.datepicker.initialized = true;
Todavía no estoy seguro de por qué existe este comportamiento, pero parece ser una constelación relativamente rara. Como nota: no “reinicié” el datepicker
después de abrir el cuadro de diálogo emergente (o solicitar la PartialView
a través de AJAX), por lo que tener una única fuente de script como parte del _Layout.cshtml
es suficiente. Espero que esto ayude a alguien más.
Tuve el mismo problema y lo resolví con
$("#ui-datepicker-div").remove();
después de cerrar y destruir la ventana emergente.
Lo que funcionó para mí fue –
Dentro del cuadro de diálogo, si tengo varias entradas con clase datepicker
después
$(".datepicker").removeClass('hasDatepicker').datepicker();
Básicamente, para eliminar la clase. hasDatepicker
antes de inicializar datepicker
otra vez.
yo estaba en versión 1.8.18 de jquery.ui.datepicker
Valoraciones y comentarios
Recuerda que tienes la capacidad de glosar .