Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/02/2013, 14:00
rackfa881618
 
Fecha de Ingreso: abril-2007
Mensajes: 3
Antigüedad: 17 años, 7 meses
Puntos: 0
Bloquear y colorear rango de fechas datepicker ui

Hola tengo una duda tengo dos datepciker y una lista de departamentos lo que deseo hacer es que al seleccionar un departamento obtenga el rango de fechas ocupadas para poder bloquearlas y cambiar el color de esas fechas aqui les dejo un ejemplo que me sirvio para bloquear un date picker

<script>


var RangeDates = [
<?php

//con esta funcion mostrarems las fechas de rentas que han sido reservadas
$cont=0;
foreach ($fechas_renta as $fechas){
if($cont==0){
$coma="";
$cont++;
}else{
$coma=",";
}
$date1=explode("/",$fechas['fecha_entrada']);
$date2=explode("/",$fechas['fecha_salida']);
$fecha1= $date1[1]."/".$date1[0]."/".$date1[2];
$fecha2= $date2[1]."/".$date2[0]."/".$date2[2];

echo $coma.'"'.$fecha1.', '.$fecha2.'"';
}
//------------------------
?>

];
var RangeDatesIsDisable = true;
function DisableDays(date) {
var isd = RangeDatesIsDisable;
var rd = RangeDates;
var m = date.getMonth();
var d = date.getDate();
var y = date.getFullYear();
for (i = 0; i < rd.length; i++) {
var ds = rd[i].split(',');
var di, df;
var m1, d1, y1, m2, d2, y2;

if (ds.length == 1) {
di = ds[0].split('/');
m1 = parseInt(di[0]);
d1 = parseInt(di[1]);
y1 = parseInt(di[2]);
if (y1 == y && m1 == (m + 1) && d1 == d) return [!isd];
} else if (ds.length > 1) {
di = ds[0].split('/');
df = ds[1].split('/');
m1 = parseInt(di[0]);
d1 = parseInt(di[1]);
y1 = parseInt(di[2]);
m2 = parseInt(df[0]);
d2 = parseInt(df[1]);
y2 = parseInt(df[2]);

if (y1 >= y || y <= y2) {
if ((m + 1) >= m1 && (m + 1) <= m2) {
if (m1 == m2) {
if (d >= d1 && d <= d2) return [!isd];
} else if (m1 == (m + 1)) {
if (d >= d1) return [!isd];
} else if (m2 == (m + 1)) {
if (d <= d2) return [!isd];
} else return [!isd];
}
}
}
}
return [isd];
}