Foros del Web » Programando para Internet » Jquery »

marcar determinados dias en datepicker de jquery

Estas en el tema de marcar determinados dias en datepicker de jquery en el foro de Jquery en Foros del Web. Hola a todos, Me gustaría saber como marcar con otro color determinados días del calendario datepicker de jquery (sin desactivarlos, solo marcarlos). Gracias de antemano ...
  #1 (permalink)  
Antiguo 11/10/2010, 15:02
 
Fecha de Ingreso: octubre-2003
Ubicación: España
Mensajes: 1.067
Antigüedad: 20 años, 6 meses
Puntos: 18
marcar determinados dias en datepicker de jquery

Hola a todos,

Me gustaría saber como marcar con otro color determinados días del calendario datepicker de jquery (sin desactivarlos, solo marcarlos).

Gracias de antemano !!
  #2 (permalink)  
Antiguo 11/10/2010, 15:21
Avatar de chicohot20  
Fecha de Ingreso: mayo-2009
Mensajes: 388
Antigüedad: 14 años, 10 meses
Puntos: 43
Respuesta: marcar determinados dias en datepicker de jquery

Si te refieres a marcar dias festivos o feriados.

Aquí hay un link, pruebalo y comenta si te funcionó:

http://dev.jqueryui.com/ticket/4610
  #3 (permalink)  
Antiguo 12/10/2010, 03:41
 
Fecha de Ingreso: octubre-2003
Ubicación: España
Mensajes: 1.067
Antigüedad: 20 años, 6 meses
Puntos: 18
Respuesta: marcar determinados dias en datepicker de jquery

Hola chicohot,

No seria para dias festivos. Estoy diseñando una agenda utilizando datepicker y los dias que contienen datos deseo marcarlos en el calendario con un color diferente, es decir, lo que necesito es decirle a datepicker los dias deseo marcar con determinado color...
  #4 (permalink)  
Antiguo 13/10/2010, 09:35
 
Fecha de Ingreso: octubre-2003
Ubicación: España
Mensajes: 1.067
Antigüedad: 20 años, 6 meses
Puntos: 18
Respuesta: marcar determinados dias en datepicker de jquery

¿ Alguien sabe algo?

Necesitaría marcar, es decir, seleccionar, con un color determinado ciertos días del calendario...

A ver si alguien puede echar una mano!!!!!
  #5 (permalink)  
Antiguo 25/10/2010, 11:57
 
Fecha de Ingreso: agosto-2010
Mensajes: 19
Antigüedad: 13 años, 7 meses
Puntos: 2
Respuesta: marcar determinados dias en datepicker de jquery

Hola David, estoy en las mismas que tu.

He llegado a la conclusión de tener que hacer lo siguiente
onChangeMonthYear, evento cuando cambias de mes.
onChangeMonthYear: function(year, month, inst) {
/* Ahora hay que cambiar de color los dias en que coincida con una entrada de la agenda*/

/* Refresco el calendario para que quede con los cambios realizados*/
$("#calendario").datepicker("refresh");

}

Según lo que he podido leer en diferentes foros, el truco sería ir jugando con el añadir y quitar clases a los dias, ya que si inspeccionas el código con chrome aparece cosas como
Código:
<a class="ui-state-default ui-state-highlight ui-state-active" href="#">1</a>
Si el dia 1 lo tengo marcado.

Lo ideal sería yo aplicarle un estilo (por ejemplo yo tengo .diaMarcado preparado para añadírselo), pero me quedo ahí.

Si adelantas algo del tema te lo agradecería también


Edito el post para comentarte que ya he encontrado una solución. La diferencia de lo que pides tu es que yo desactivo aquellos dias que no entran en la agenda.

Al final la solución pasó por:

Utilizar el evento onBeforeShowDay, que será el encargado de ver si un botón tiene entrada de calendario o no
Código Javascript:
Ver original
  1. function onBeforeShowDay(thedate){
  2.         var theday = thedate.getDate();
  3.         if( $.inArray(theday,specialDays) == -1 ) return [false,""];
  4.         return [true,""];
  5.     }

En tu caso en vez de return [true,""] sería un return [¿es seleccionable?,Nombre de la clase,tooltip popup opcional], ahí le tendrás que dar los efectos que quieras.


Luego simplemente falta que con el evento de cambiar mes / año metas los valores en el array specialDays que es el encargado de recoger esos valores. Yo utilizo $.ajax para recoger en texto plano de un php con mysql los valores. Ahí ya dependerá de lo que programes.

Código Javascript:
Ver original
  1. function onOnChangeMonthYear(year, month, inst)
  2.     {
  3.         $.ajax({
  4.             async:false,   
  5.             type:"POST",
  6.             dataType: "text",
  7.             url: "../comun/funcionesDias.php",
  8.             data: "mes=" + month + "&anyo="+year,
  9.             success: function(data){
  10.                 //alert(data);
  11.                 var valores=data.split(",");
  12.                 var definitivo = new Array()
  13.                 for (var x=0;x<valores.length;x++){
  14.                     definitivo[x]=parseInt(valores[x]);
  15.                 }
  16.                 specialDays=definitivo;
  17.                 $('#calendario').datepicker("refresh");
  18.             },
  19.         });
  20.     }

Yo he hecho más trabajo del que toca haciendo un array llamado definitivo, ya que el datepicker no se traga arrays de cadena, y me ha tocado trasforma a enteros los valores del array, seguro que hay alguna forma más rápida.

Me faltará ver como cambiar el estilo al botón que se queda siempre pulsado de un mes al otro, que quiero que todos los botones aunque cambie el mes tengan el mismo estilo.

Espero haber sido de ayuda.

Un saludo

Última edición por shava; 27/10/2010 a las 04:25 Razón: Solucionado
  #6 (permalink)  
Antiguo 01/12/2010, 04:10
 
Fecha de Ingreso: enero-2009
Ubicación: http://www.vzenix.com
Mensajes: 2
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: marcar determinados dias en datepicker de jquery

Revisa esto.

Código:
	$("#datepicker").datepicker({
	   onSelect: function(textoFecha, objDatepicker){
	   },
	   beforeShowDay: function (day) {
               var day = day.getDay();
               if (day == 5 || day == 6 || day == 0) {
                   return [false, "unaclase"]
               } else {
                 return [true, "otraclase"]
               }
       }
	});
  #7 (permalink)  
Antiguo 01/12/2010, 09:15
 
Fecha de Ingreso: octubre-2003
Ubicación: España
Mensajes: 1.067
Antigüedad: 20 años, 6 meses
Puntos: 18
Respuesta: marcar determinados dias en datepicker de jquery

Gracias a todos, le daré un vistazo!

Etiquetas: datepicker, dias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 11:50.