![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Problemas con un DatePicker al deshabilitar fechas
Buenas tardes a todos!!
![]() Quería pediros ayuda con un problema con el siguiente código: Código:
<script> // Función para obtener las fechas entre dos fechas dadas function obtenerFechasEntre(fechaInicio, fechaTermino) { var fechas = []; var fechaActual = new Date(fechaInicio); var fechaTermino = new Date(fechaTermino); while (fechaActual <= fechaTermino) { fechaActual.setDate(fechaActual.getDate() + 1); fechas.push(fechaActual.toISOString().split('T')[0]); } return fechas; } $(function() { let fechas = <?php echo $jsonArray; ?>; // Array para almacenar las fechas entre los rangos var unavailableDates = []; // Iterar sobre el array de fechas y obtener las fechas entre cada par for (var i = 0; i < fechas.length; i++) { var rango = fechas[i]; var fechaInicio = rango[0]; var fechaTermino = rango[1]; var fechasEntreRango = obtenerFechasEntre(fechaInicio, fechaTermino); unavailableDates = unavailableDates.concat(fechasEntreRango); } $( "#datepicker1" ).datepicker({ // defaultDate: "+1w", minDate: 0, changeMonth: true, beforeShowDay: function(date) { var stringDate = $.datepicker.formatDate('yy-mm-dd', date); return [unavailableDates.indexOf(stringDate) === -1]; }, onClose: function( selectedDate ) { $( "#datepicker2" ).datepicker( "option", "minDate", selectedDate ); }, onSelect: function(){ $( "#datepicker2" ).datepicker( "option", "disabled", false ); } }); // Evito que el usuario use el teclado en datepicker1 $("#datepicker1").keydown(function(e) { e.preventDefault(); }); $( "#datepicker2" ).datepicker({ // defaultDate: "+1w", changeMonth: true, beforeShowDay: function(date) { var stringDate = $.datepicker.formatDate('yy-mm-dd', date); return [unavailableDates.indexOf(stringDate) === -1]; }, onClose: function( selectedDate ) { $( "#datepicker1" ).datepicker( "option", "maxDate", selectedDate ); } }); // Evito que el usuario use el teclado en datepicker2 $("#datepicker2").keydown(function(e) { e.preventDefault(); }); }); </script> Sin embargo, sólo me deshabilita las fechas en el primer DatePicker. Muchísimas gracias de antemano por cualquier ayuda que podáis darme. Un saludo.
__________________
Saludos, Gabo A menos que se indique lo contrario, el código estará hecho en C++Builder. |
#2
|
||||
|
||||
Hola a todos,
Sino me equivoco, el código que se utiliza para lo que necesitas, es el que está situado en el evento "beforeShowDay" de los "data pickers". Efectivamente, en dicho evento, y, en ambos "data pickers", vemos las mismas líneas de código: Código:
var stringDate = $.datepicker.formatDate('yy-mm-dd', date); return [unavailableDates.indexOf(stringDate) === -1]; No sé si en lugar de "$.datapicker" podrías probar con "$("#datepicker1")" y "$("#datepicker2")", en su lugar. Acaso, dentro del evento "beforeShowDay", puedas usar algo como "$(this)" para referirte al "data picker" en cuestión. Pero es lo único que veo que puede estar pasando... lo que no significa que esté en lo cierto: que "$.datepicker" se refiera al primer "data picker", y, por eso ese "data picker" "funciona", y, no el segundo, incluso cuando el código del evento "es el mismo". P.S. El primer "data picker" tiene una propiedad "minDate: 0", mientras que el segundo no la tiene... no sé si esto podría tener también algo que decir... Última edición por dec fecha: 09-06-2023 a las 10:49:53. |
![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Deshabilitar y Habilitar seleccionar fechas de un TDateTimePicker | rgstuamigo | OOP | 3 | 17-01-2009 14:42:47 |
problema datepicker | anubis | Varios | 2 | 19-05-2007 04:14:13 |
Componente DatePicker para IntraWeb | Isnel | Internet | 1 | 09-11-2006 17:35:40 |
problemas Fechas (now) | jmlifi | Varios | 6 | 07-04-2005 18:57:18 |
Problemas con las fechas | NuncaMas | Varios | 2 | 15-02-2005 17:33:03 |
![]() |
|