Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/04/2013, 10:10
Avatar de catpaw
catpaw
 
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años, 7 meses
Puntos: 23
fechas: sumar restar meses (datepicker)

hola, necesito de su experiencia con el datepicker de jqueryui

necesito dos campos: fecha inicio y fecha final.

El formato de la fechas debe ser yymm, ejemplo: (hoy) 201304 (descartamos dias, solo me interesa mes y año)

al seleccionar una fecha inicio->poner la fecha final +1 mes la fecha seleccionada, ejemplo:

fecha inicio: [201304] (abre el calendario->selecciono cualquier dia)

fecha final [201305] (automaticamente se pone un mes mas)

osea que mi rango es todo el mes que seleccione (04) +1 mes (05) del año 2013

ahora bien,

al seleccionar una fecha final se hara lo contrario->poner la fecha inicio -1 mes la fecha seleccionada, ejemplo:

fecha final [201304] (abre el calendario->selecciono cualquier dia)

fecha inicio [201303] (automaticamente se pone un mes menos)

osea que mi rango es todo el mes que seleccione (04) -1 mes (03) del año 2013

Ahora este el codigo que llevo:

Código Javascript:
Ver original
  1. $("#fecha_inicio").datepicker({
  2.     dateFormat: 'yymm',
  3.     showOn: "button",      
  4.     buttonImage: "../images_icon/datebox_arrow.png",
  5.     buttonImageOnly: true,
  6.     numberOfMonths: 2,
  7.     onSelect: function(selectedDate){
  8.         var fecha_fin = selectedDate; //sumar 1 mes a la fecha seleccionada
  9.         $("#fecha_final").datepicker("option", "minDate", selectedDate);//bloquear que no esconjan en la fecha final una fecha antes de la del inicio
  10.         $("#fecha_final").datepicker("setDate", fecha_fin); //aqui deberia ir la fecha +1 mes
  11.     }
  12. });
  13. $("#fecha_final").datepicker({
  14.     dateFormat: 'yymm',
  15.     showOn: "button",      
  16.     buttonImage: "../images_icon/datebox_arrow.png",
  17.     buttonImageOnly: true,
  18.     numberOfMonths: 2,
  19.     onSelect: function(selectedDate){
  20.         var fecha_inicio = selectedDate; //restar 1 mes a la fecha seleccionada
  21.         $("#fecha_final").datepicker("option", "maxDate", selectedDate); //bloquear que no esconjan en la fecha inicio una fecha despues del final
  22.         $("#fecha_final").datepicker("setDate", fecha_inicio);//aqui deberia ir la fecha -1 mes
  23.     }
  24. });

Pero resulta que al seleccionar fecha inicio por ejemplo 01-04-2013 mi campo contiene: 201304 y como le estoy dando $("#fecha_final").datepicker("option", "minDate", selectedDate); el campo de la fecha final contiene: 256406 osea una fecha rara

y si yo les quito el dateformat: yymm ya nome pone una fecha rara.

entonces en un intento, considerando que la fecha seleccionada es por ejemplo 201304 trate de agregarle el dia, osea:

selectedDate+"01" pero me sigue dando fecha rara.

y lo mas importante es como sumar/restar el mes a las fechas seleccionadas??

seria recomendable usar substr???

gracias

Última edición por catpaw; 19/04/2013 a las 10:15