有人能告诉我如何在yii中使用jquery-datepicker作为日期范围吗?我让它工作一个日期如何修改它以获得多个日期。 我是yii框架的新手。
答案 0 :(得分:8)
试试这个例子:
<?php $this->widget('zii.widgets.jui.CJuiDatePicker', array(
'model'=>$model, 'attribute'=>'birthday',
'options'=>array(
'dateFormat'=>'yy-mm-dd',
'yearRange'=>'-70:+0',
'changeYear'=>'true',
'changeMonth'=>'true',
),
)); ?>
答案 1 :(得分:1)
'options'=>array(
'showAnim'=>'fold',
'dateFormat'=>'yy-mm-dd',
'changeMonth'=>true,
'changeYear'=>true,
'yearRange'=>'-100:+0',
'defaultDate'=>'+0'
),
答案 2 :(得分:1)
我没有找到使用CJuiDatePicker执行此操作的解决方案。相反,我在我的视图文件中使用了以下内容:
<?php
Yii::app()->getClientScript()->registerCoreScript( 'jquery.ui' );
Yii::app()->clientScript->registerCssFile(
Yii::app()->clientScript->getCoreScriptUrl().
'/jui/css/base/jquery-ui.css'
);
Yii::app()->clientScript->registerScript('daterangescript',"
var dates = $('#ReportForm_date_start, #ReportForm_date_end').datepicker({
defaultDate: '+1w',
changeMonth: true,
changeYear: true,
numberOfMonths: 1,
onSelect: function( selectedDate ) {
var option = this.id == 'ReportForm_date_start' ? 'minDate' : 'maxDate',
instance = $( this ).data( 'datepicker' );
date = $.datepicker.parseDate(
instance.settings.dateFormat ||
$.datepicker._defaults.dateFormat,
selectedDate, instance.settings );
dates.not( this ).datepicker( 'option', option, date );
}
});
$('#ReportForm_date_start, #ReportForm_date_end').datepicker('option', 'dateFormat', 'yy-mm-dd');
",CClientScript::POS_READY);
?>
不要忘记将ReportForm_date_start
和ReportForm_date_end
替换为您自己的元素ID。
答案 3 :(得分:1)
Yii CJuiDatePicker:日期范围
<?php
$this->widget('zii.widgets.jui.CJuiDatePicker',array(
'name'=>'datepicker-min-max',
'value'=>date('d-m-Y'),
'options'=>array(
'showButtonPanel'=>true,
'minDate'=>-5,
'maxDate'=>"+1M +5D",
),
'htmlOptions'=>array(
'style'=>''
),
));
?>
答案 4 :(得分:0)
请按照jQuery UI文档了解如何创建日期范围。
阅读jQuery UI文档后,您应该了解它是如何工作的。然后,您可以使用CJuiDatePicker小部件生成所需内容。
根据您的需要调整Yii小部件并不难,我宁愿说它非常简单有效。
答案 5 :(得分:0)
也许这就是你要找的线索:
日期范围有2个日期,一个在两端
假设您知道如何使用datepicker
窗口小部件从用户检索单个日期,最简单的方法是在视图中实例化2个日期选择器,并使用发送回控制器的2个日期作为边缘模型中的日期范围。
答案 6 :(得分:0)
你可以在选项上添加'yearRange'。 你可以填写'开始日期:结束日期',例如'yearRange'=&gt;'2008:2018', 或者,在今年之前和之后多少年,使用 - 和+编写代码,例如'yearRange'=&gt;' - 8:+8',这意味着在今年之前的8年和今年之后的8年。
答案 7 :(得分:0)
From: <input type="text" name="date_from" id="date_from" />
To: <input type="text" name="date_to" id="date_to" />
<?php
$this->widget('zii.widgets.jui.CJuiDatePicker', array(
'name' => 'date_from',
// additional javascript options for the date picker plugin
'options' => array(
'showAnim' => "slideDown",
'changeMonth' => true,
'numberOfMonths' => 1,
'showOn' => "button",
'buttonImageOnly' => false,
'dateFormat' => "yy-mm-dd",
'showButtonPanel' => true,
'onClose' => 'js:function(selectedDate) { $("#date_to").datepicker("option", "minDate", selectedDate); }',
)
));
$this->widget('zii.widgets.jui.CJuiDatePicker', array(
'name' => 'date_to',
// additional javascript options for the date picker plugin
'options' => array(
'showAnim' => "slideDown",
'changeMonth' => true,
'numberOfMonths' => 1,
'showOn' => "button",
'buttonImageOnly' => false,
'dateFormat' => "yy-mm-dd",
'showButtonPanel' => true,
'onClose' => 'js:function(selectedDate) { $("#date_from").datepicker("option", "maxDate", selectedDate); }',
)
));
?>