如何在CJuiDatePicker小部件中禁用不可用的日期

时间:2013-12-18 17:47:49

标签: datepicker widget yii-extensions cjuidialog

我正在构建一个计划应用程序。我可以使用CJuiDatePicker小部件的“onSelect”选项对数据库进行排序。现在我尝试使用“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 个答案:

答案 0 :(得分:0)

我仍在使用原始代码。我需要在beforeshowday中生成一个数组。当我运行你的代码时,它在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"];