jQuery UI 日期选择器在 ajax 调用后重新初始化
jQuery UI datepicker reinitialize after ajax call
我正在使用 Yii,它是 jQuery UI 日期选择器小部件。
我在 CGridView 过滤选项中使用它。当 CGridView 完成 ajax 调用时,它将调用 afterAjaxUpdate
事件。
问题是我的网站上有这个 JUI 带有自定义设置的日期选择器,所以我不能只做 $('.picker').datepicker();
因为所有以前的选项都会丢失。
有没有办法用相同的选项重新初始化 JUI 日期选择器?
html.php |扩展 CHtml
public static function datePicker($options) {
return Yii::app()->controller->widget(
'zii.widgets.jui.CJuiDatePicker',
CMap::mergeArray(
[
'class' => 'picker',
],
$options
),
true
);
}
view.php
$this->widget(
'ext.GridView',
[
'columns' => [
[
'name' => 'date',
'filter' => Html::datePickerField([
'name' => 'Model[date]',
]),
],
],
]
);
您可以有一个将日期选择器分配给所需字段的功能:
<script>
function setDatePicker()
{
$('.picker').datepicker({
//Your desired options
});
}
</script>
然后,在每个 gridview 的 afterAjaxUpdate
上调用这个函数:
'afterAjaxUpdate' => 'js:function(){setDatePicker();}'
我正在使用 Yii,它是 jQuery UI 日期选择器小部件。
我在 CGridView 过滤选项中使用它。当 CGridView 完成 ajax 调用时,它将调用 afterAjaxUpdate
事件。
问题是我的网站上有这个 JUI 带有自定义设置的日期选择器,所以我不能只做 $('.picker').datepicker();
因为所有以前的选项都会丢失。
有没有办法用相同的选项重新初始化 JUI 日期选择器?
html.php |扩展 CHtml
public static function datePicker($options) {
return Yii::app()->controller->widget(
'zii.widgets.jui.CJuiDatePicker',
CMap::mergeArray(
[
'class' => 'picker',
],
$options
),
true
);
}
view.php
$this->widget(
'ext.GridView',
[
'columns' => [
[
'name' => 'date',
'filter' => Html::datePickerField([
'name' => 'Model[date]',
]),
],
],
]
);
您可以有一个将日期选择器分配给所需字段的功能:
<script>
function setDatePicker()
{
$('.picker').datepicker({
//Your desired options
});
}
</script>
然后,在每个 gridview 的 afterAjaxUpdate
上调用这个函数:
'afterAjaxUpdate' => 'js:function(){setDatePicker();}'