Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/09/2012, 17:02
Avatar de Naahuel
Naahuel
 
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: Pasar valores de array

Algo así:
Código Javascript:
Ver original
  1. //acá obtengo las fechas por DB
  2. var o_fechas_disponibles = [{"id":"1","fecha":"2012-06-14","descripcion":"ddddddddddddddd"},
  3.     {"id":"2","fecha":"2012-06-14","descripcion":"rrrrrrrrrrrrr"},
  4.     {"id":"3","fecha":"2012-06-15","descripcion":"mmmm msdf mmmmmm"}];
  5.  
  6. //convierto este objeto en array de fechas, sólo por conveniencia
  7. //esto debe hacerse fuera de la función callback y de preferencia al comienzo de todo
  8. //de esta forma hacemos este ciclo sólo una vez.
  9. var ar_fechas_disponibles = new Array();
  10. $.map(o_fechas_disponibles,function(n,i){
  11.     ar_fechas_disponibles[i] = n.fecha;
  12. });
  13.  
  14. $(function(){
  15.     $("#datepicker").datepicker({
  16.         beforeShowDay: function(date) {
  17.             //obtengo la fecha que me provee datepicker y la pongo en EL MISMO formato
  18.             //que las fechas que yo tengo, para poder comparar.
  19.             _fecha = date.getFullYear() + '-' + ("0" + (date.getMonth()+1)).slice(-2) + '-' +("0" + date.getDate()).slice(-2);
  20.            
  21.             //verifico que la fecha obtuve esté en el arreglo.
  22.             //Si no está, devuelvo false y un texto para mostrar como tooltip en la fecha
  23.             if ($.inArray(_fecha, ar_fechas_disponibles)==-1) {
  24.                 return [false,"","No disponible"];
  25.             } else {
  26.                 return [true, ""];
  27.             }
  28.         }
  29.     })
  30. });

Ejemplo completo funcionando: http://jsfiddle.net/9RMsV/

Si te fijás en el ejemplo, sólo podés elegir entre el 14 y 15 de Junio. Tal y cómo querrías.

También fijate que en el ejemplo de objeto que pasaste, tenés el primer elemento así "fecha" mientras que los otros dos son " fecha " (con espacios). Estimo que si ese objeto lo generás automáticamente, eso no debería suceder. Probablemente sólo lo escribiste mal :P
__________________
nahueljose.com.ar