0

我在 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

4 回答 4

3

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

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

<?=
DatePicker::widget([
    'name' => 'to_date',
    'dateFormat' => 'dd/MM/yyyy',
    'clientOptions' => [
        'minDate' => 0
    ]
])
?>
于 2016-04-11T12:36:59.153 回答
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)

希望它可以帮助你...

于 2013-11-07T06:43:48.290 回答
0

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

minDate: new Date(),
于 2013-11-07T06:22:26.850 回答
0

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

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

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

  3. 开始日期日期。默认值:开始时间 可以选择的最早日期;所有较早的日期都将被禁用。如在官方文档中。

所以给你。

     <?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.
            ]
        ]);?>
于 2021-01-25T19:37:44.767 回答