【问题标题】:Yii2 Boostrap period pickerYii2 Boostrap 周期选择器
【发布时间】:2018-03-22 03:31:47
【问题描述】:
我正在使用 Yii2,我想拥有以下东西:
- 以“范围”作为项目(周、整周、周末等)的下拉菜单(完成)
- 基于所选范围的 RangePicker 将:
- 只允许某些天作为开始日期(例如:周 = 星期一;周末 = 星期六)
- 将根据开始日期自动选择结束日期(例如:周:周一至周五;整周:周一至周日;周末:周六至周日等)
对于下拉菜单,这很好。但是对于 DateRangePicker,我开始使用 Krajee DateRangePicker 和
- 我没有找到“onStartDateSelected”的回调(我只看到了在选择范围时调用的回调,而不是针对单个开始日期或结束日期的回调)
- 我没有看到“setStopDate”函数
- 我看不到如何动态更改可用的星期数
我看到我们可以有一组预定义的时间段,例如“过去 7 天”、“本月”等。但这 不是我想要的。我希望用户能够选择开始日期,但会根据用户设置的内容自动计算结束日期。
(我是网络开发的新手,所以如果您发现我的问题有什么可以改进的地方,请不要害怕分享)
【问题讨论】:
标签:
yii2
daterangepicker
bootstrap-daterangepicker
【解决方案1】:
您可以通过以下方式完成任务:
使用以下库:
use kartik\date\DatePicker;
在视图中使用以下代码:
<?php
$layout3 = '<span class="input-group-addon">From Date</span>
{input1}
<span class="input-group-addon">To Date</span>
{input2}
<span class="input-group-addon kv-date-remove">
<i class="glyphicon glyphicon-remove"></i>
</span>';
$previousDay = strtotime('-7 day', strtotime(date('d-M-Y'))); //Set as per your requirement[![enter image description here][1]][1]
echo DatePicker::widget([
'type' => DatePicker::TYPE_RANGE,
'name' => 'startDate',
'value' => date('d-M-Y', $previousDay),
'name2' => 'endDate',
'value2' => date('d-M-Y'),
'separator' => '<i class="glyphicon glyphicon-resize-horizontal"></i>',
'layout' => $layout3,
'pluginOptions' => [
'autoclose' => true,
'format' => 'dd-M-yyyy'
]
]);
?>