Estoy tratando de crear un calendario para seleccionar las fechas en un formulario.
Quiero deshabilitar algunos días de la semana, el problema es que si yo creo un array e i nserto los dias que quiero deshabilitar sí que me funciona, pero si creo un array y le voy añadiendo los dias que obtengo de una consulta a la base de datos no me funciona...
Mi código es este:
En la vista tengo:
Código Javascript:
Ver original
<script type="text/javascript"> var disabledDays =JSON.parse('<?php echo json_encode($this->dias) ?>'); document.writeln(disabledDays); //var diasclase = [2,3,5,6]; var diasclase =JSON.parse('<?php echo json_encode($this->diasclase) ?>'); document.writeln(diasclase); function disableAllTheseDays(date) { var m = date.getMonth(), d = date.getDate(), y = date.getFullYear(); for (i = 0; i < disabledDays.length; i++) { if($.inArray((m+1) + '-' + d + '-' + y,disabledDays) != -1) { return [false, "", "Unavailable"]; } } if ($.inArray(date.getDay(), diasclase) > -1) { return [false, "", "Unavailable"]; } return [true]; } $(function() { $('#fecha').datepicker({ dateFormat: 'yy-mm-dd', beforeShowDay: disableAllTheseDays, minDate: '+0d', maxDate: '+3m', firstDay: 1}); }); </script> <form action="index.php" method="POST"/> <div> Selecciona Fecha: <input type="text" name="fecha" id="fecha"/> </div>
y en mi controlador Realizo la consulta a la base de y le paso los dias a la vista:
$
Código PHP:
dia = new Application_Model_DbTable_Clase();
$diassinclase = $dia->diassinclase($tipoactividad,$actividad);
$diasclase = Array();
foreach($diassinclase as $d){
//echo (" Valor: ".$d['iddia']);
array_push($diasclase, $d['iddia']);
}
print_r($diasclase);
$this->view->diasclase = $diasclase;
Código PHP:
$diasclase = Array(2,3,5,6);
$this->view->diasclase = $diasclase;
¿Alguien me puede ayudar? ¿Estoy creando mal el array que obtengo de la consulta? gracias.