Tema: Datepicker
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/11/2014, 16:30
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Datepicker

He leído que se pueden deshabilitar fechas del calendario a partir de un rango dado o mediante las propiedades minDate y maxDate, tal y como se explica aquí, pero, para tu caso, se me ocurre otra alternativa. Podrías seleccionar una fecha en el primer calendario y automáticamente asignar al segundo la fecha siguiente, pero si el usuario selecciona una fecha menor en el segundo calendario, se le muestra un mensaje en el que se le avisa que no lo debe de hacer y se le asigna, nuevamente, la fecha siguiente a la elegida en el primer calendario. Para darle mayor seguridad al proceso, inicialmente, el segundo calendario estaría deshabilitado y solo se habilitaría al momento se seleccionar una fecha en el primero.

Código HTML:
Ver original
  1. <input id = "foo" readOnly />
  2. <input id = "bar" readOnly disabled />

Código Javascript:
Ver original
  1. var foo = $("#foo"),
  2.     bar = $("#bar");
  3.  
  4. foo.datepicker({
  5.     onSelect: function(){
  6.         var fecha = $(this).datepicker("getDate");
  7.         fecha.setDate(fecha.getDate() + 1); //Le sumo 1 día
  8.         bar.datepicker("setDate", fecha);
  9.         if (bar.prop("disabled")){
  10.             bar.prop("disabled", false);   
  11.         }
  12.     }
  13. });
  14.  
  15. bar.datepicker({
  16.     onSelect: function(){
  17.         var primero = foo.datepicker("getDate"),
  18.             segundo = $(this).datepicker("getDate");
  19.         if (segundo <= primero){
  20.             alert("Debe de seleccionar una fecha mayor");
  21.             primero.setDate(primero.getDate() + 1); //Le sumo 1 día
  22.             $(this).datepicker("setDate", primero);
  23.         }
  24.     }
  25. });

DEMO

Como la propiedad getDate devuelve un objeto Date, puedo realizar la comparación directamente y aplicar cualquiera de los métodos de dicho objeto.

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