【问题标题】:jQuery UI datepicker reinitialize after ajax callajax调用后jQuery UI datepicker重新初始化
【发布时间】:2015-04-16 22:03:35
【问题描述】:

我正在使用 Yii,它是 jQuery UI Datepicker 小部件。

我在 CGridView 过滤选项中使用它。当 CGridView 完成 ajax 调用时,它会调用 afterAjaxUpdate 事件。

问题是我的网络上都有这个带有自定义设置的 JUI Datepicker,所以我不能只做$('.picker').datepicker();,因为之前的所有选项都会丢失。

有没有办法用相同的选项重新初始化 JUI Datepicker?

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]',
                  ]),
             ],
         ],
     ]
);

【问题讨论】:

    标签: php jquery yii datepicker


    【解决方案1】:

    您可以使用一个函数将日期选择器分配给您想要的字段:

    <script>
        function setDatePicker()
        {
             $('.picker').datepicker({
                //Your desired options
             });
        }
    </script>
    

    然后,在每个 gridview 中的 afterAjaxUpdate 上调用此函数:

    'afterAjaxUpdate' => 'js:function(){setDatePicker();}'
    

    【讨论】:

      猜你喜欢
      • 2020-01-30
      • 1970-01-01
      • 2012-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多