Saltar al contenido

jQuery datepicker solo funciona una vez y no se muestra la segunda vez

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 .

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *