2016-04-10 30 views
0

Görünümümden tarihleri ​​arasına girmeyi deniyorum. Aşağıdaki kod. 'Date_from' için seçili tarihten başlamak için 'date_to' tarih seçicisini bekledim. Ama bu gerçekleşmiyor. 'Date_to' tarih seçicisi bugünün tarihinden başlıyor.Yii2 jui datepicker aralığı çalışmıyor

<?php 
use yii\helpers\Html; 
use yii\widgets\ActiveForm; 
use yii\helpers\Url; 
use yii\helpers\ArrayHelper; 
use yii\jui\DatePicker; 
use common\models\Room; 
use common\models\Customer; 


/* @var $this yii\web\View */ 
/* @var $model common\models\Reservation */ 

$this->title = 'Create Reservation'; 
$this->params['breadcrumbs'][] = ['label' => 'Reservations', 'url' => ['index']]; 
$this->params['breadcrumbs'][] = $this->title; 
?> 

<?php $form = ActiveForm::begin(); ?> 
<div class="row"> 
    <div class="col-lg-12"> 
     <h1>Create Reservation form</h1> 
     <?= $form->field($model, 'room_id')->dropDownList($this->params['itemRooms'],[ 'prompt' => '--- choose from ---' ]) ?> 
     <?= $form->field($model, 'customer_id')->dropDownList($this->params['itemCustomers'],[ 'prompt' => '--- choose from ---' ]) ?> 
     <?= $form->field($model, 'price_per_day')->textInput() ?> 
     <?= $form->field($model, 'date_from')->widget(\yii\jui\DatePicker::classname(), [ 
       'clientOptions' => 
        [ 
         'numberOfMonths' => 3, 
         "changeMonth" => true, 
         'onClose' => new \yii\web\JsExpression('function(getDate) { 
             $("#reservation-date_to").datepicker("clientOptions", "minDate", getDate); 
            }'), 
        ], 
     ]) ?> 
     <?= $form->field($model, 'date_to')->widget(\yii\jui\DatePicker::classname(), [ 
       'clientOptions' => 
        [ 
         'numberOfMonths' => 3, 
         "changeMonth" => true, 
         'onClose' => new \yii\web\JsExpression('function(getDate) { 
             $("#reservation-date_from").datepicker("clientOptions", "maxDate", getDate); 
            }'), 
        ], 

     ]) ?> 
    </div> 
</div> 
<div class="form-group"> 
    <?= Html::submitButton('Create' , ['class' => 'btn btn-success']) ?> 
</div> 
<?php ActiveForm::end(); ?> 

cevap

1

Sen clientOptions yerine option kullanmayı deneyebilirsiniz: Örnek için

,

<?= $form->field($model, 'date_from')->widget(yii\jui\DatePicker::className(), [ 
      'clientOptions' =>[ 
       'numberOfMonths' => 3, 
       'minDate' => '+1m +1w', 
       'changeMonth' => true, 
       'onClose' => new \yii\web\JsExpression('function(selectedDate) { 
        $("#'.Html::getInputId($model, 'date_to').'").datepicker("option", "minDate", selectedDate); 
       }'), 
      ], 

     ]) ?> 
+0

teşekkür ederiz. İşe yaradı. Çalışma kodu: 'onClose' => new \ yii \ web \ JsExpression ('function (selectedDate) { $ ("# rezervasyon-tarih_to") .datepicker ("option", "minDate", selectedDate); } '), – user3141181

+0

@ kullanici3141181. Kabul edildi olarak işaretle, bu yüzden diğerlerine faydalı olabilir. –