He estado usando jQuery UI con Bootstrap y me parece que en un problema que no he tenido antes. No estoy seguro de lo que ha cambiado; he probado de nuevo la opción diferente de la versión de jQuery y no me actualización de la interfaz de usuario jQuery en el mientras tanto. Así que no estoy exactamente seguro de lo rompió.

El error de la consola cuando hago clic en cualquier fecha en el selector de fecha devuelve:

Uncaught TypeError: Cannot set property 'currentDay' of undefined 

El código es bastante sencillo, como sería de esperar de un datepicker:

$(".datepicker").datepicker({
dateFormat: 'dd-mm-yy'
}); 

Con el siguiente código HTML:

<input type="text" class="datepicker" />

Es esto un error que debe ser reportado (ya que ninguna otra de Google partidos de vuelta hacia arriba) o se trata de algo más que se me haya olvidado?

  • Creo que puede haber algún conflicto con jQuery UI del selector de fecha y boostrap del datepicker, le sugiero que elija uno y quitar el resto de la js.
  • Buena convocatoria, pero por desgracia sólo estoy usando Bootstrap CSS con jQuery 1.7.1 y jQuery-UI 1.9.2. Yo no estoy usando Bootstrap-interfaz de usuario en este momento.
  • he encontrado el error no se produce si utiliza #ID y no .clase
  • Estoy recibiendo este problema sólo cuando el uso de Datatable. En la normal de la página HTML, datepicker de obras impresionante.
  • Probablemente significa que su tabla de datos es reutilizar el selector de fecha, que debe tener un ID único.

7 Comentarios

  1. 126

    He encontrado la solución. Después de un largo tiempo de depuración que me di cuenta de que había un <div> que tenían la misma ID, la mentira mayor que el campo de entrada. Por lo tanto, la secuencia de comandos se llevó la primera instancia que contenía el ID y recogió los DIV en lugar de la input campo.

    He quitado/cambiado el nombre de la DIV y funcionó bien de nuevo.

    • A veces es muy útil para poner su página en HTML validator! 🙂
    • muchas gracias es un trabajo 100%, pero puedo cambiar el <input type=»text» id=»Caja» nombre=»CheckOut2″ —- nombre de atributo
    • sido de 2 horas sobre este error, finalmente encontró su solución <3
    • Que son muy bienvenidos!
    • Mil veces gracias!
    • Estás oficialmente impresionante.
    • Gracias Bjorn! Esta totalmente trabajado. En mi caso fue una etiqueta con el mismo id.

  2. 20

    La anterior jQuery datepicker de error es causado generalmente por tener un duplicado de controles con el mismo ID, no importa si usted usa id u otro selector como clase css o nombre de campo para crear instancias de ella.

    • Ese es exactamente el punto. No utilizar los Identificadores de siempre con selector de fecha, el uso de css personalizado de nombres de la clase. Yo estaba frente a ese problema cuando se utiliza el selector de fechas en el interior de ventana emergente.
    • otros, tengo el mismo problema vinculado aquí. stackoverflow.com/questions/45883482/… he intentado muchas soluciones diferentes id, clases, etc. No importa, la cuestión aparece incluso en el 2017 4 años después de este hilo original. Es un bug con el datatable o jquery UI? Extrañamente, si he intentado crear el nombre de atributo en el control de entrada, que se duplica en la página una vez más. El error se produce inevitablemente. ¿Hay alguna solución sólida a este problema. Estoy utilizando la última versión de la tabla de datos y jquery UI.
  3. 1

    Yo estaba teniendo este error también. He encontrado que en otros lugares en la forma que yo tenía algunas etiqueta ‘para’ atributos que no coinciden con los identificadores en la forma de entradas – parece que esto podría confundir a datepicker demasiado. Una vez que me fijo de los de arriba, todo funcionaba bien y el error se fue. Tomar Andreas asesoramiento (+1 eso!!!) y validar sus formas – Chris Pederick Web del Desarrollador de la Barra de herramientas le ofrece una manera fácil para validar la marcha.

  4. 1

    poner un selector.

    <script>  $("#formID #duplicatedId").datepicker({language: 'he'});
    </script>

    FormID: Identificador de la forma que contiene la entrada.

    duplicatedId: el elemento de entrada del Id.

  5. 1

    En mi caso me fue la activación de la datepicker de un div en contra de un oculto campo de entrada y getPos(a) fue el causante de que un mensaje no definido en la variable «a». He experimentado con el movimiento oculto de entrada de campo en las afueras de un div y que hizo el truco. Tenga en cuenta que el campo de entrada fue fáciles de encontrar por jQuery no importa de donde estaba, así que no era el problema fue con el posicionamiento. Espero que esto ayude a alguien más.

  6. 0

    Podría ser dos cuadro de entrada de la misma clase sin id diferente y por eso están tratando de selector de fecha. Si es que no dan dos diferentes id de trabajo.

  7. 0

    He encontré con este problema, y yo estaba 100% seguro de que no hizo uso de id duplicado.
    Después de la depuración he encontrado una razón – yo estaba usando tablas de datos mod, lo que duplica el contenido de tfoot, creando así una copia exacta de datepicker de elementos. Y yo tenía este datepicker de entradas en tfoot fila.

    Fijado que el problema con:

    table.find("TFOOT").find("TR:first").remove();

    Que se llama DESPUÉS de la tabla.DataTable(….)

    Esta eliminado original, cero altura de la fila con todos los contenidos;

Dejar respuesta

Please enter your comment!
Please enter your name here