自定义 yii2 日期时间选择器

PHP 7.0.33 和 yii2 2.0.16 在这里。

我需要自定义一个 yii2 日期时间选择器,但我在某个时候卡住了。我查看了一些扩展,最终使用了以下扩展,因为它让我最接近我想要实现的目标:

所以,我的代码是这样的:

$dateRangePickerOptions = [

    'language' => 'en',

    'name'=>'date_end',

    'convertFormat' => true,

    'pluginOptions' => [

        'timePicker' => true,

        'timePickerIncrement' => 30,

        'locale' => [

            'format' => 'Y-m-d H:i',

        ],

        'singleDatePicker' => true,

        'showDropdowns' => true,

    ]

];


$form = ActiveForm::begin();

echo $form->field($model, 'date_end')->widget(DateRangePicker::classname(), $dateRangePickerOptions);

ActiveForm::end();

结果是这样的:

http://img3.sycdn.imooc.com/6470772b000189b303210485.jpg

几乎不错,但有几件事我不知道我是否可以定制:

  1. 我希望 AM/PM 下拉菜单消失,时间下拉菜单以 24 小时格式显示小时数。

  2. 当我开始选择日期、时间、分钟时,目标表单元素的边框变为红色,警告我该字段不能为空。没错,该字段不能为空,但在我点击“应用”按钮之前不能显示警告。

除了这些,我还在考虑一些“最好有”的定制:

  1. 周六周日禁用。

  2. 小时下拉字段的选项应该只显示 7 到 16 之间的小时数。

但这也不允许我完全实现我所描述的。只要我能达到所描述的要点,我愿意接受任何建议,甚至接受完全不同的扩展/方法。


12345678_0001
浏览 296回答 1
1回答

犯罪嫌疑人X

您需要使用timePicker24Hour引导程序插件的选项,您的选项数组应该看起来像$dateRangePickerOptions = [    'language' => 'en',    'name'=>'date_end',    'convertFormat' => true,    'pluginOptions' => [        'timePicker' => true,        'timePickerIncrement' => 30,        'locale' => [            'format' => 'Y-m-d H:i',        ],        'singleDatePicker' => true,        'showDropdowns' => true,        'timePicker24Hour'=>true    ]];
打开App,查看更多内容
随时随地看视频慕课网APP