Tengo una aplicación web bastante compleja a la que me gustaría agregarle una IU de recolección de fechas.jQuery datepicker sin entrada
El problema con el que me estoy encontrando es que no he podido deducir de los documentos cómo realmente tomar el control de cómo y cuándo aparece el marcador de fecha. No hay elementos de formulario implicados (y no, no voy a agregar un campo de formulario secreto), por lo que el enfoque simple listo para usar simplemente no funcionará.
Espero que alguien pueda proporcionar una pequeña guía sobre un patrón que me permita invocar el datepicker programáticamente. Creo que sé cómo utilizaría los eventos personalizados de datepicker para inicializarlo y posicionarlo, y para recuperar el valor elegido cuando el usuario lo descarta. Solo me cuesta crear una instancia de un marcador de fecha, ya que no lo estoy emparejando con un elemento.
Esto es lo que no es de trabajo:
function doThing(sCurrent, event) { // sCurrent is the current value; event is an event I'm using for positioning information only
var bIsDate = !isNaN((new Date(sCurrent)).getTime());
jQuery.datepicker('dialog',
(bIsDate ? new Date(sOriginal) : new Date()), // date
function() { console.log('user picked a date'); }, // onSelect
null, // settings (i haz none)
event // position
);
}
La razón es que "jQuery.datepicker" no es una función. (Estoy haciendo lo incorrecto.)
No estoy casado con el enfoque de 'diálogo' - fue mi mejor intento de invocar uno sin referencia a un elemento de formulario.
estoy usando jQuery 1.4.3 y 1.8.6 jQueryUI
¡Gracias por excavar! También he echado un vistazo, y aunque todavía no lo he hecho funcionar, descubrí que el complemento realmente genera una ENTRADA oculta cuando se llama al método "dialog", escondiéndolo detrás del datepicker visible cuando está activo.Parece una especie de hokey, pero confirma lo que muchas otras publicaciones de SO sugieren: el plugin en realidad solo está diseñado para el caso estándar. Puede que tenga que arreglar eso. – Tom
Después de un buen tiempo de prueba, este fue el único patrón admitido. Alguien necesita mejorar el marcador de fecha para que sea más flexible. Tal vez ese alguien soy yo. Una batalla a la vez, sin embargo. – Tom
También se usan los resultados de div/span en datepicker en línea (siempre se muestra) ... Pregunta no relacionada sobre este problema (todavía no hay respuesta) - http://stackoverflow.com/questions/17371859/jquery-ui-datepicker-force-non- inline-popup-mode-on-span-or-div –