2011-10-17 12 views
5

En un proyecto ASP.NET, estoy buscando una manera de tener un selector de fechas jQueryUI llegar al pulsar un botón, a continuación, hacer una devolución de datos cuando se seleccione una fecha. He recibido la parte de devolución de datos de trabajo utilizando this method, pero estoy teniendo problemas ya sea con el selector que se fuera cuando lo quiero o se comporte correctamente cuando se selecciona una fecha.Mostrar jQueryUI selector de fechas en el botón de prensa sin la participación de campo de entrada

He intentado:

  • Colocación del selector al botón en sí, sino que establece el texto del botón para la fecha elegida después selecciono y antes de que ocurra la devolución de datos, que no quiero .
  • Adjuntar el selector al botón y establecer la opción altField en un <input type='text' /> que se encuentra fuera de la ventana del navegador, pero aún establece el texto del botón cuando se elige una fecha.
  • Por lo que es en línea de su anexión a una div y la creación en el onclick del botón. Pero de acuerdo con this forum post, el selector de fechas en línea por diseño no muestra un botón Hecho, y no puedo descartarlo haciendo clic fuera de ella.
    • Intenté agregar un botón Listo propio al contenedor de botones del selector de fecha (que aparece cuando showButtonPanel está configurado), pero desaparece cuando cambia el mes o el año y parece que ninguno de los eventos a los que puedo vincular yo para agregarlo de nuevo.
    • Intenté adjuntar un controlador mouseup al cuerpo del documento para poder descartar el datner cuando hago clic fuera de él, pero eso se dispara cuando hago clic también en el selector de fecha y parece impedir que el selector funcione.

¿Cuál es el mejor enfoque aquí?

Respuesta

6

He usado un campo oculto input antes y adjuntado un selector de fechas a ella con resultados exitosos:

$("#date").datepicker({...}); // #date has style display='none' 

$("#show-date").click(function() { 
    $("#date").datepicker("show"); 
}); 

Ejemplo:http://jsfiddle.net/7pttr/

+4

Esto funcionó después de algún tocar el violín. Curiosamente, me sale un error de Javascript en '$ ('# myHiddenInput') selector de fechas ('show');.' Si el campo oculto no es el primer hijo de su padre. ¡Difícil! –

Cuestiones relacionadas