Tengo un problema extraño en el que el selector de fecha funciona para mí en Chrome y funciona para otros usuarios. Sin embargo, no aparece en absoluto para un usuario en su Chrome (hasta ahora, solo un usuario tiene este problema) y no estoy seguro de por qué.
¿Alguien tiene ideas? Probamos en modo incógnito en su máquina y todavía tiene el problema. Un mensaje de error como este está en su consola de desarrollo de Chrome:
Query.Excepción diferida: $(...).datepicker no es una función TypeError: $(...).datepicker no es una función en HTMLDocument. (http://192.168.20.52:9891/static/js/validate.js:2:17) en e (https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min. js:2:30005) en t (https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js:2:30307) indefinido S.Deferred.exceptionHook @ jquery.min. js:2 t @ jquery.min.js:2 setTimeout (asincrónico)
Mi código (en validar.js):
$(function() { $("#start").datepicker({ dateFormat: 'yy-mm-dd', onSelect: function(dateStr) { console.log('In start method') var date = $(this).datepicker('getDate'); date.setMonth(date.getMonth()); console.log(date) $('#end').val($.datepicker.formatDate('yy-mm-dd', date)); setNumberOfVDays() } }); });Incluyo esto en la parte inferior de mi archivo html (NO incluyo ningún otro archivo .js en la parte superior de este archivo)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> <script src="/static/js/validate.js"></script>¡Gracias!
agregue estos estilos y scripts antes de inicializar.
<link rel="stylesheet" href="//code.jquery.com/ui/1.13.1/themes/base/jquery-ui.css"> <script src="https://code.jquery.com/jquery-3.6.0.js"></script> <script src="https://code.jquery.com/ui/1.13.1/jquery-ui.js"></script>si te ayuda asegúrese de hacer clic en esta respuesta es útil.
solo estoy publicando en caso de que alguien tenga curiosidad sobre cuál era el problema. parece que fue algo de seguridad en las computadoras después de todo. No estoy seguro de qué/cómo, pero no era un bloqueo de seguridad específico del navegador.
El lugar de trabajo estaba bloqueando uno de los enlaces del sitio del código jquery, así que descargué los archivos .js a nuestro propio servidor y me referí a ellos en mi código en lugar de a los enlaces del sitio.
El uso de los archivos locales parece haber solucionado el problema