Tema: Datepicker
Ver Mensaje Individual
  #6 (permalink)  
Antiguo 28/11/2014, 14:11
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Datepicker

Después de analizar el algoritmo utilizado en dicha página (que creo que fue lo primero que debiste poner ), he simplificado la manera en la que lo hacen:

Código Javascript:
Ver original
  1. var inicio = new Date(),
  2.     fin = new Date(),
  3.     inicio2, fin2;
  4.  
  5. fin.setDate(fin.getDate() + 365);
  6.  
  7. $("#foo").datepicker({
  8.     minDate: inicio,
  9.     maxDate: fin,
  10.     onSelect: function(){
  11.         inicio2 = $(this).datepicker("getDate");
  12.         fin2 = $(this).datepicker("getDate");
  13.        
  14.         inicio2.setDate(inicio2.getDate() + 1);
  15.         fin2.setDate(fin2.getDate() + 365);
  16.        
  17.         $("#bar").datepicker({
  18.             minDate: inicio2,
  19.             maxDate: fin2
  20.         });
  21.     }
  22. });

Lo que hay que hacer es más simple de lo que parece. Primero, declaramos dos variables a las cuales les asignaremos a cada una el objeto Date y que, por defecto, toman la fecha de hoy, además, declaramos dos variables que usaremos más adelante. Luego, al valor de la fecha final para el primer calendario, le sumo 365 días, con lo cual, el usuario tendrá el rango de 1 año para seleccionar cualquiera de dichas fechas.

Enseguida, en el primer calendario, establezco los rangos de selección, utilizando las dos propiedades que mencioné en mi anterior respuesta, además, cuando seleccionemos una fecha, a las dos variables finales que declaré al inicio, les asigno la fecha que acabamos de seleccionar. A la primera de ellas, le sumo 1 un día y, a la segunda, 365, para que así la fecha final del alquiler sea como máximo igual a un año después de la fecha de inicio, es decir, la seleccionada en el primer calendario. Finalmente, asignamos estos dos datos al segundo calendario como sus rangos de selección.

DEMO

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand