Yii,日期选择器不堆叠选项

Yii, datepicker is not stacking options

所以我最初有一个日期选择器,它禁止用户在当前日期前 select 天。

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

但是当我添加函数时,结果是我可以在 select 天前。它取代了 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',
        ),              
    ));
    ?>

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

很简单。 您必须在 options PHP 数组中写入 'beforeShowDay' => 'js:DisableMonday',而不是在 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',
  ),
));
?>