net calendarios asp asp.net javascript jquery datepicker

asp.net - calendarios - jquery datepicker events



jQuery UI "$("#datepicker "). datepicker no es una funciĆ³n" (14)

¿Has intentado usar Firebug para 1) determinar que no hay errores de Javascript y 2) que el elemento # datepicker existe en la página?

Lo más probable es que haya un error antes de la llamada datepicker que impida la ejecución de la llamada datepicker.

Cuando uso DatePicker, el complemento de UI de jQuery, en una página .aspx existente recibo errores que:

$("#datepicker").datepicker is not a function

Sin embargo, cuando copio y pego el mismo código que crea y usa el datePicker en un archivo HTML que también está en el mismo directorio que la página aspx, funciona sin problemas. Esto me lleva a suponer que hay algunos archivos JS en la página aspx que impiden que datePicker o tal vez los archivos JQ UI de jQuery se carguen correctamente.

¿Alguien puede confirmar mis creencias o proporcionar algún consejo sobre cómo encontrar al culpable que interfiere con los complementos de UI de jQuery?


Acabo de tener este problema y mover las referencias y el código de JS hacia la parte inferior de la página antes de que la etiqueta </body> me lo arreglara.


Algunos archivos no cargan antes de llamar.

Por ejemplo: tu código:

<%= javascript_include_tag "distpicker.min" %> <%= javascript_include_tag "distpicker.data.min" %>

Cambiar a esto:

<%= javascript_include_tag "distpicker.data.min" %> <%= javascript_include_tag "distpicker.min" %>


Este error generalmente aparece cuando falta un archivo del conjunto de jQuery UI.

Verifique dos veces que tiene todos los archivos, los archivos jQuery UI, así como las CSS e imágenes, y que están en la ubicación del archivo / directorio correctamente enlazado en su servidor.


Luché con un problema similar durante horas. Resultó que jQuery se incluyó dos veces, una vez por el programa al que agregué una función jQuery y otra por nuestro depurador interno.


Me encontré con este problema recientemente: el problema era que había incluido los archivos jQuery UI en la etiqueta head, pero la biblioteca Telerik que estaba usando incluía jQuery en la parte inferior de la etiqueta body (aparentemente reinicializando jQuery y descargando la interfaz de usuario) complementos previamente cargados).

La solución fue averiguar dónde se estaba incluyendo jQuery en realidad e incluir las secuencias de comandos de jQuery UI después de eso.


Me encontré con un problema similar. Cuando cambié mi referencia de script de etiquetas de cierre automático (es decir, <script src=".." /> ) a nodos vacíos (es decir, <script src=".."></script> ), mis errores desaparecieron y De repente, pude hacer referencia a las funciones de jQuery UI.

En ese momento, no me di cuenta de que esto era solo un codazo de mi cerebro si no lo cerraba correctamente para empezar. (Estoy publicando esto simplemente en caso de que alguien más se encuentre con un problema similar).


Podría solucionar este problema eliminando el paquete jquery en _Layout.cshtml

Encabezamiento

<script src="~/Scripts/jquery-1.10.2.js"></script> <script src="~/Scripts/kendo/2015.2.902/kendo.all.min.js"></script> ...

Pie de página

@Scripts.Render("~/bundles/jquery") @Scripts.Render("~/bundles/bootstrap") @RenderSection("scripts", required: false)

Cambiar pie de página a

@Scripts.Render("~/bundles/bootstrap") @RenderSection("scripts", required: false)


Sé que esta publicación es bastante antigua, pero como referencia solucioné este problema actualizando la versión de datepicker

También vale la pena intentarlo para evitar horas de depuración.

https://cdnjs.com/libraries/bootstrap-datepicker


Si cree que hay un conflicto, puede usar jQuery.noConflict() en su código. Los detalles están en los docs .

MAGIA DE REFERENCIA - ATAJOS PARA JQUERY

Si no te gusta escribir "jQuery" completo todo el tiempo, existen algunos accesos directos alternativos:

Reasignar jQuery a otro atajo var $j = jQuery; (Este podría ser el mejor enfoque si desea usar diferentes bibliotecas) Use la siguiente técnica, que le permite usar $ dentro de un bloque de código sin sobrescribir permanentemente $:

(function($) { /* some code that uses $ */ })(jQuery)

Nota: Si usa esta técnica, no podrá usar los métodos Prototype dentro de esta función encapsulada que esperan que $ sea Prototype $, por lo que puede elegir usar solo jQuery en ese bloque. Use el argumento para el evento listo para DOM:

jQuery(function($) { /*some code that uses $ */ });

Nota: Nuevamente, dentro de ese bloque no puede usar métodos Prototype

Eso es desde el final de los documentos y puede ser útil para usted


Si hay otra biblioteca que está usando la variable $, puede hacer esto:

var $j = jQuery.noConflict(); $j("#datepicker").datepicker();

También asegúrese de que su javascript incluye esté en el orden correcto para que la biblioteca del núcleo de jquery esté definida antes de jquery.ui. He tenido problemas con eso.


También verifique los permisos para el directorio donde descarga los archivos. Por alguna razón, cuando descargué esto, de manera predeterminada, se guardó en una carpeta sin acceso permitido. Me tomó una eternidad darme cuenta de que ese era el problema, pero solo tuve que cambiar el permiso para el directorio y su contenido, configurándolo para TODOS = LEER SOLAMENTE. Funciona muy bien ahora.


Vaya por lo obvio primero: ¿Hace referencia al archivo jquery-ui.js?

Intente usar la pestaña de red de firebug para encontrar si está cargada, o el código de información / View javascript de la barra de herramientas de Web Developer.


jQuery "$ (" # datepicker "). datepicker no es una función"

He solucionado el problema al colocar los tres archivos siguientes en la sección del cuerpo del formulario al final.

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js" type="text/javascript"></script> <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js" type="text/javascript"></script> <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="Stylesheet" type="text/css" />