2016-03-29 18 views
1

Ich benutze das DatePicker Widget - © Kartik - Krajee Yii Erweiterungen für meinen Zeitraum .. Wo habe ich ein StartDate und EndDate. Wie Sie im Bild unten sehen können, habe ich startDate gewählt: 2016-03-29 00:00 .. Wie kann ich die Daten in meinem endDate Datumsauswahl basierend auf meinem startDate deaktivieren .. Das bedeutet, dass alle Daten kleiner als startDate deaktiviert werden.Kartik Datepicker deaktiviert Datum weniger als Startdatum

enter image description here

<div class="form-control-datepicker"> 
<?php 
echo DateTimePicker::widget([ 
    'name' => 'start', 
    'id' => 'start', 
    'value' => $start, 
    'type' => DateTimePicker::TYPE_INPUT, 
    'pickerButton' => ['icon' => 'time'], 
    'pluginOptions' => [ 
     'autoclose'=>true, 
     'format' => 'yyyy/mm/dd HH:ii', 
    ] 
]); 
?> 
</div> 
~ 
<div class="form-control-datepicker"> 
<?php 
    echo DateTimePicker::widget([ 
    'name' => 'end', 
    'id' => 'end', 
    'value' => $end, 
    'type' => DateTimePicker::TYPE_INPUT, 
    'pluginOptions' => [ 
     'autoclose'=>true, 
     'format' => 'yyyy/mm/dd HH:ii', 
    ] 
]); 
?> 
</div> 

Antwort

-1

Es gibt eine Option für diese:

'pluginOptions' => [ 
    'startDate' => date('Y-m-d'), 
    'autoclose'=>true, 
    'format' => 'yyyy/mm/dd HH:ii', 
] 

es funktionieren sollte.

OK, ich habe die Frage nicht verstanden. In onSelect #START:

'pickerButton'=>['icon'=>'time'], 
    'onSelect'=> 'js:function(date){ 
     var endDate = new Date(date); 
     $("#end").datepicker("option", "minDate", endDate); 
     }', 
    'pluginOptions'=>[ whatever ... ], 

ich diesen in jsfiddle getestet haben, so sollte dies für Sie arbeiten. Ich bin mir nicht sicher über die Syntax, aber es sollte funktionieren ... es hat für mich in Yii 1. Wenn Sie endDate begrenzen möchten, um Termine vor dem aktuellen anzuzeigen, die sinnvoll ist, fügen Sie einfach MinDate Option hinzu.

+0

'startdate' eine Reihe Datum deaktivieren => Datum ('Ym -d '), funktioniert nur, wenn Sie die Daten vor dem heutigen Datum deaktivieren möchten. Was versucht wird, zu erreichen, ist, wenn der Benutzer ein Datum in StartDate auswählt und dann im EndDate DatePicker die Daten vor dem ausgewählten StartDate deaktiviert. –

0

für disable Datum können Sie verwenden oder

  'pluginOptions'=>[ 
       'locale'=>['format' => 'Y-m-d'], 
       'minDate'=> "2017-05-12", 
       'isInvalidDate' => new \yii\web\JsExpression(
        "function(date){ 
         var some_date_range = [ '2017-05-22', ]; 
         for(var ii = 0; ii < some_date_range.length; ii++){ 
          if (date.format('YYYY-MM-DD') == some_date_range[ii]){ 
           return true; 
          } 
         } 
       }"), 
      ] 

Min Datum disable alle Termine Moll von 2017.05.12 und InvalidDate

Verwandte Themen