我在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=""'
),
));
答案 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)
我已经尝试过以前的答案,但没有任何效果。 这是我解决这个问题的方法
在文档中找不到 minDate https://www.malot.fr/bootstrap-datetimepicker/
有类似 minDate 的东西,它被称为 startDate 但它只接受 Date。
开始日期 日期。默认值: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.
]
]);?>