Yii,datepicker不是堆叠选项

时间:2015-04-15 01:16:43

标签: jquery yii datepicker

所以我最初有一个日期选择器,禁止用户选择当天之前的几天。

然后,我决定添加一个函数DisableMondays,它会禁用所有星期一。

但是当我添加函数时,事实证明我可以在几天之前选择。它取代了minDate : 0函数。

以下是我的代码,

<script> 
    function DisableMonday(date) {
        var day = date.getDay();
        if (day == 1) {
            return [false] ; 
        } 
        else { 
            return [true] ;
        }
    }

    $(function() {
        $( "#Booking_date" ).datepicker({
            beforeShowDay: DisableMonday
        });
    });
</script>

<?php $form->widget('zii.widgets.jui.CJuiDatePicker', array(
        'model' => $model,          
        'attribute' => 'date',          
        'value' => $model->date,            
        'options' => array(
            'showAnim'=>'fadeIn',
            'showButtonPanel' => true,
            'minDate'=>'0',
            'changeYear' => true,
            'dateFormat' => 'yy-mm-dd',
        ),              
    ));
    ?>

请帮我解决这个问题。非常感谢你们。

1 个答案:

答案 0 :(得分:2)

很简单。 您必须在'beforeShowDay' => 'js:DisableMonday' PHP数组中编写options,而不是在Javascript中编写。

正确的语法是'beforeShowDay' => 'js:DisableMonday'

<script> 
  function DisableMonday(date) {
    var day = date.getDay();
    if (day == 1) {
      return [false] ; 
    } 
    else { 
      return [true] ;
    }
  }
</script>

<?php 
$form->widget('zii.widgets.jui.CJuiDatePicker', array(
  'model' => $model,          
  'attribute' => 'date',          
  'value' => $model->date,            
  'options' => array(
    'showAnim'=>'fadeIn',
    'showButtonPanel' => true,
    'minDate'=>'0',
    'changeYear' => true,
    'dateFormat' => 'yy-mm-dd',
    'beforeShowDay' => 'js:DisableMonday',
  ),
));
?>