Tengo un formulario con muchos elementos de entrada. Algunos son campos de fecha con un selector de fechas jQuery UI alraedy adjunta:Prueba si el elemento ya tiene jQuery datepicker
$("#someElement").mask("9?9/99/9999").datepicker({showOn: 'button', buttonText:'Click here to show calendar', duration: 'fast', buttonImageOnly: true, buttonImage: /images/calicon.gif' });
entonces tengo un comando de teclado con destino a esta función:
function openCalendar() {
var selection = document.activeElement;
// { Need to test here if datepicker has already been initialized
$(selection).datepicker("show");
// }
}
Esto funciona muy bien para los elementos que ya tienen el selector de fechas en ellos. Sin embargo, cualquier otro campo generará un error de javascript. Me pregunto cuál es la mejor manera de probar si Datepicker ya se ha inicializado en ese campo.
Para verificar si jQuery UI autocompletar está inicializado, lo he usado: '$ ('# myinput'). Is (': data (autocomplete)')'. Supongo que esto también funciona para datepicker. –
El hecho de que la clase de marcador exista no siempre significa que el marcador de fecha está en el nodo. En Datatables cuando cambia a la vista de la tarjeta, el datepicker se elimina del nodo, ¡pero la clase permanece! Por lo tanto, debe agregar la verificación adicional como se indicó anteriormente Y eliminar la clase si necesita reencaminar ya que datepicker utiliza internamente la clase como un proxy para evitar enlaces múltiples. – Jeff