如何在yii datepicker中禁用上一个日期

时间:2013-11-07 06:11:00

标签: php jquery yii datepicker

我在yii中使用了datepicker,我想在日历上禁用之前的日期以避免选择它们。

这是我的代码:

 $this->widget('zii.widgets.jui.CJuiDatePicker', array(
       'model'=>$model,
       'attribute'=>'arrival_date_as_per_recorded_travel',
       'name'=>'arrival_date_as_per_recorded_travel',
       'value'=>$eta_date_formatted,

       // additional javascript options for the date picker plugin
       'options'=>array(
           'startDate'=>date("yy-mm-dd"),
           'showAnim'=>'fold',
           'dateFormat'=>'yy-mm-dd',
           'changeMonth'=>'true',
           'changeYear'=>'true',
           'yearRange'=>'2013:2100',),

       'htmlOptions'=>array(
           'id'=>'arrival_date_as_per_recorded_travel',
           'style'=>'height:20px;width:150px',
           'value'=>$eta_date_formatted,
           'onblur'=>'if(this.value=="")this.value=""'
                        ),
   ));

4 个答案:

答案 0 :(得分:2)

使用以下代码

更改选项
  'options'=>array(
       'startDate'=>date("yy-mm-dd"),
       'minDate'=>'0',  // this will disable previous dates from datepicker
       'showAnim'=>'fold',
       'dateFormat'=>'yy-mm-dd',
       'changeMonth'=>'true',
       'changeYear'=>'true',
       'yearRange'=>'2013:2100',),

'minDate'=>'0'会停用以前的日期......

您可以查看Jquery Date Picker API (minDate)

希望它可以帮到你...

答案 1 :(得分:2)

至于Yii2(将此添加为答案,因为问题未在yii 1.x下标记)

<?php 
use yii\jui\DatePicker;
?>

<?=
DatePicker::widget([
    'name' => 'to_date',
    'dateFormat' => 'dd/MM/yyyy',
    'clientOptions' => [
        'minDate' => 0
    ]
])
?>

答案 2 :(得分:0)

将以下内容添加到您的选项数组中应该会有所帮助。

minDate: new Date(),

答案 3 :(得分:0)

我已经尝试过以前的答案,但没有任何效果。 这是我解决这个问题的方法

  1. 在文档中找不到 minDate https://www.malot.fr/bootstrap-datetimepicker/

  2. 有类似 minDate 的东西,它被称为 startDate 但它只接受 Date。

  3. 开始日期 日期。默认值:Beginning of time 可以选择的最早日期;所有较早的日期将被禁用。和官方文档一样。

所以你开始吧。

     <?php
        $now = new DateTime();
        echo $form->field($data['model'], 'expire_date' ,
             ['template' =>
            '{label}<p class="sub-label">' . \Yii::t("main","After this date people won't be able to bid on this job no more.").'</p> {input}{error}{hint}'])
            ->widget(DateTimePicker::classname(),
             [            
            'options' => [
                'placeholder' => \Yii::t("main","Enter a date..."),
                'autoComplete' => 'off',
        
            ],
            //'convertFormat' => true,
            'language' => "Yii::$app->language;",
        
            'pluginOptions' => [
                'autoclose'=>true,
                'format' => 'yyyy-mm-dd hh:ii:ss',
                'startDate' => date_format($now, 'Y-m-d'), //startDate Date. Default: Beginning of time The earliest date that may be selected; all earlier dates will be disabled.
            ]
        ]);?>