Gusta selector de fecha. Muchas gracias por esta gran biblioteca!

Tengo una pregunta para usted, basado en este ejemplo (en línea datepicker):

http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/datePickerMultiMonth5.html

He añadido un «renderCallback» la función de deshabilitar los días de la semana basado en las casillas de verificación… (por ejemplo, cuando el sábado-casilla de verificación está marcada deshabilitar todos los sábados se muestra).

Esto funciona perfectamente bien cuando se inicializa el calendario con datePickerMultiMonth().

Pero, ¿cómo puedo actualizar el calendario en línea cuando una de las casillas de verificación se cambia (por ejemplo, anule la selección de lunes-checkbox)?

Como es: al seleccionar /anular la selección de una casilla de verificación el selector de fecha permanece sin cambios … sólo después de cambiar manualmente el próximo mes se actualiza y se desactiva por ejemplo, todos los lunes… esto debe suceder inmediatamente cuando se cambia el lunes-casilla de verificación.

¿Tiene usted alguna idea de cómo puedo actualizar la datepicket? Muchas gracias por tu ayuda!

Saludos,
Markus

InformationsquelleAutor Markus | 2010-01-25

3 Comentarios

  1. 2

    Probablemente la forma más sencilla de resolver el problema es quitar el calendario existente y, a continuación, volver a procesar la misma. por ejemplo:

    $mm.empty().datePickerMultiMonth({});

    Sin embargo, esto tiene algunos inconvenientes como el estado de su selector de fecha no es mantenida (por ejemplo, aparece mes, las fechas seleccionadas etc).

    Así que sólo he hecho algunos cambios en el complemento y se introdujo un nuevo método: dpmmRerenderCalendar en el multimonth selector (y la correspondiente dpRerenderCalendar en el selector de fecha en sí).

    Puede ver un ejemplo de esto en acción aquí:

    http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/datePickerMultiMonth7.html

    Y puede agarrar el último plugin de código desde mi sitio web o de la googlecode repositorio.

  2. 1

    Después de tener un poco de una mirada a la fuente, parece que voy a tener que hacer algo como esto:

    $.event._dpCache[$('.date-pick')[0]._dpId]._applyRenderCallbacks()

    o posiblemente esto:

    $.event._dpCache[$('.date-pick')[0]._dpId]._rerenderCalendar()

    La $.event._dpCache[$('.date-pick')[0]._dpId] parte se utiliza para obtener el primer interna DatePicker coincidencia de objeto de la css '.date-pick', el cual es necesario para acceder a la interna _applyRenderCallbacks y _rerenderCalendar funciones.

    Por desgracia, esto no acceder a la estructura interna del plugin, por lo que es posible se puede romper cuando salen nuevas versiones, sin embargo no he podido encontrar ningún públicamente, de forma accesible para actualizar el calendario.

    • Buen trabajo de detective y una buena solución para la falta de acceso público a la correspondiente método del plugin… Esta habría sido la mejor solución en el momento en que la pregunta fue respondida. He actualizado el plugin para que el procesar método está públicamente disponible, que hace que para una más fácil de mantener solución…

Dejar respuesta

Please enter your comment!
Please enter your name here