Esto me funciona perfectamente (paso el script completo):
Código JAVASCRIPT
:
Ver original$(function(){
$.getJSON('miarray.php')
.done(function(o_fechas_disponibles){
//convierto este objeto en array de fechas, sólo por conveniencia
var ar_fechas_disponibles = new Array();
$.map(o_fechas_disponibles,function(n,i){
ar_fechas_disponibles[i] = n.fecha;
});
$("#datepicker").datepicker({
beforeShowDay: function(date) {
//obtengo la fecha que me provee datepicker y la pongo en EL MISMO formato
//que las fechas que yo tengo, para poder comparar.
_fecha = date.getFullYear() + '-' + ("0" + (date.getMonth()+1)).slice(-2) + '-' +("0" + date.getDate()).slice(-2);
//verifico que la fecha obtuve esté en el arreglo.
//Si no está, devuelvo false y un texto para mostrar como tooltip en la fecha
if ($.inArray(_fecha, ar_fechas_disponibles)==-1) {
return [false,"","No disponible"];
} else {
return [true, ""];
}
},
onSelect: function(fecha){
$.ajax({
type: "GET",
url: "buscar.php",
data: 'datepicker='+fecha,
success: function(data) {
alert(data);
}
});
}
});
})
.fail(function(){
alert('No se puede obtener los valores de la base de datos');
});
});