2015-01-24 5 views
5

Yii2의 생년월일 필드에 datePicker가 실행 중입니다. 올해도 표시하려고합니다. 나는 http://jqueryui.com/datepicker/#dropdown-month-year이라는 JQuery 문서를 확인했고 나는 이것을 changeYear으로 얻을 수있을 것이라고 생각했다. 그러나 그것은 효과가없는 것처럼 보입니다. 이것을하는 방법은 무엇입니까? 이것은 현재 코드입니다.Yii2 DatePicker

<?= $form->field($model, 'date_of_birth')->widget(DatePicker::className(),[ 
    'name' => 'date_of_birth', 
    'language' => 'en-GB', 
    'dateFormat' => 'yyyy-MM-dd', 
    'options' => [ 
     'changeMonth' => true, 
     'changeYear' => true, 
     'yearRange' => '1996:2099', 
     'showOn' => 'button', 
     'buttonImage' => 'images/calendar.gif', 
     'buttonImageOnly' => true, 
     'buttonText' => 'Select date' 
    ], 
]) ?> 

답변

14

당신은 단순히 options 대신 clientOptions를 사용해야합니다

'clientOptions' => [ 
    'changeMonth' => true, 
    'yearRange' => '1996:2099', 
    'changeYear' => true, 
    'showOn' => 'button', 
    'buttonImage' => 'images/calendar.gif', 
    'buttonImageOnly' => true, 
    'buttonText' => 'Select date' 
], 
7

당신은 단순히 HTML5 날짜 형식을 사용할 수 있습니다. 너무 간단합니다. 위젯을 추가 할 필요가 없습니다.

<?= $form->field($model, 'date_of_birth')->textField(['type' => 'date']);?> 

날짜 선택 도구가 추가됩니다.

+2

의 더 나은 솔루션을! –

0

다음과 같은 코드를 사용할 수 있습니다

use yii\helpers\Html; 
    use yii\widgets\ActiveForm; 
    use kartik\select2\Select2; 
    use yii\helpers\ArrayHelper; 
    use kartik\date\DatePicker; 
    use yii\widgets\Pjax; 

    <?=$form->field($model, 'columnName')->widget(DatePicker::classname(), [ 
     'language' => 'tr', 
     'value' => date('dd/mm/yyyy', strtotime('+7 days')), 
     'readonly' => true, 
     #'disabled' => true, 
     #'size' => 'lg', 
     #'type' => DatePicker::TYPE_COMPONENT_APPEND, 
     'options' => ['placeholder' => 'Başlangıç Tarihi Seç ...'], 
     'pluginOptions' => [ 
      #'orientation' => 'top right', 
      'format' => 'dd/mm/yyyy', 
      'todayHighlight' => true, 
      'todayBtn' => true, 
      'autoclose'=>true, 
     ] 
]);?>