Как отключить недоступные даты в виджете 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"];
Другие вопросы по тегам