Как отключить недоступные даты в виджете CJuiDatePicker
Я строю приложение для планирования. Я могу отсортировать базу данных с помощью опции "onSelect" виджета CJuiDatePicker. Теперь я пытаюсь использовать опцию beforeShow, чтобы обеспечить возможность выбора только дат, у которых есть задачи. Кто-нибудь может помочь?
$this->widget('zii.widgets.jui.CJuiDatePicker', array(
'model'=>$dataProvider,
'attribute'=>'start_time',
'options'=>array(
'dateFormat' => 'yy-mm-dd',
'changeMonth' => true,
'changeYear' => true,
'beforeShowDay' => 'js:$.datepicker.noWeekends',
'beforeShow' => "js:function Check_Alert2(){
Check_Alert();
}
",
'onSelect' => "js:function SearchFunc() {
var data = $('input').serialize();
var url = document.URL;
var params = $.param(data);
url = url.substr(0, url.indexOf('?'));
window.History.pushState(null, document.title,$.param.querystring(url, data));
}"
),
'htmlOptions'=>array(
'style'=>'height:20px;',
'readonly' =>true,
),
));
1 ответ
Я все еще использую оригинальный код. Мне нужен массив, сгенерированный в течение дня до выставки. Когда я запускаю ваш код, он перестает работать при вызове функции getdates().
'beforeShowDay' => 'js:function(date){
var array = ["2013-10-30","2013-10-31","2013-12-18","2013-12-25"];
var string = jQuery.datepicker.formatDate("yy-mm-dd", date);
if (array.indexOf(string) == -1){
return [false,"", "No event"];
} else return [true,"", "Event"];