2015-04-15 59 views
0

所以我最初有一個日期選擇器,它禁止用戶在當天之前選擇幾天。Yii,日期選擇器不是堆疊選項

然後,我決定添加一個禁用所有星期一的函數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

我相信你應該把' 'beforeShowDay': 'DisableMonday''的'在' options'' PHP數組,而不是在Javascript –

+0

我沒有你所說的話,但我得到'語法錯誤,意外';',期待')''。 – NewbieCoder

回答

2

很簡單。 您必須在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', 
), 
)); 
?> 
+0

天哪〜!我很樂意給你一個吻。沒有同性戀。反正非常感謝!一直在尋找解決方案。 – NewbieCoder

+0

最受歡迎:) @Yeen – Jayson

相關問題