我正在使用CJuiDatePicker来选择日期。我正在创建一个管理假期的页面,包括假日名称,假日从日期,假日到日期。从和使用CJuiDatePicker。我想让Holiday To Date字段大于Holiday From Date,例如,Holiday From Date字段是2013-11-12,然后Holiday to Date字段的日期是2013-11-12之前的日期是禁用的,不能是选择的。
以下是我的代码:
<table>
<tr>
<td width="20%">
<?php echo $form->labelEx($model,'holiday_date_from'); ?>
</td>
<td>
<?php
$this->widget('zii.widgets.jui.CJuiDatePicker', array(
'model' => $model,
'attribute' => 'holiday_date_from',
'options' => array('dateFormat' => 'dd-mm-yy',
'mode' => 'focus',
'changeMonth' => 'true',
'showAnim' => 'slideDown',
'changeYear' => 'true',
'yearRange' => '1920:2013',
'onClose: function (selectedDate) {
$("#holiday_date_to").datepicker("option", "minDate", selectedDate);
}',
),
'htmlOptions' => array('id' => 'holiday_date_from','class' => 'input-medium', 'style' => 'height: 20px')
));?>
<?php echo $form->error($model,'holiday_date_from'); ?>
</td>
</tr>
<tr>
<td width="20%">
<?php echo $form->labelEx($model,'holiday_date_to'); ?>
</td>
<td>
<?php
$this->widget('zii.widgets.jui.CJuiDatePicker', array(
'model' => $model,
'attribute' => 'holiday_date_to',
'options' => array('dateFormat' => 'dd-mm-yy',
'mode' => 'focus',
'changeMonth' => 'true',
'showAnim' => 'slideDown',
'changeYear' => 'true',
'yearRange' => '1920:2013',
'onClose: function (selectedDate) {
$("#holiday_date_from").datepicker("option", "minDate", selectedDate);
}',
),
'htmlOptions' => array('id' => 'holiday_date_to','class' => 'input-medium', 'style' => 'height: 20px')
));?>
<?php echo $form->error($model,'holiday_date_to'); ?>
</td>
</tr>
</table>
不幸的是,第二个cjuidatepicker不会禁用。我试图在onClose事件中使用alert(“testing”),但它不会触发。我也使用onChange而不是onClode但也失败了。出了什么问题?
答案 0 :(得分:2)
您应该尝试使用正确的语法,例如:
'onClose' => 'js:function (selectedDate) { $("#holiday_date_to").datepicker("option", "minDate", selectedDate); }',
或:
'onClose' => new CJavaScriptExpression('function (selectedDate) { $("#holiday_date_to").datepicker("option", "minDate", selectedDate); }'),