0

如果通过ajax附加到页面CGridView('myGridViewID'),我无法重新加载它。
$.fn.yiiGridView.update('myGridViewID');

类型错误:设置未定义

$grid.addClass(settings.loadingClass);

4

3 回答 3

1

在控制器动作中使用 renderPartial:

$cs = Yii::app()->clientScript;
$cs->reset();
$cs->scriptMap = array(
    'jquery.js'  =>  false,   // prevent produce jquery.js in additional javascript data
);

// Look at 4th parameter: with TRUE value, your view will have additional javascript data.
$this->renderPartial('_partialViewWithGrid', array(), false, true);
于 2013-05-22T16:14:07.223 回答
0

这是同一视图中动态CgridViews的 wiki。那应该行得通。

于 2013-05-21T20:56:42.620 回答
-2

动态加载的 CGridViews(以及包含 ajax 的所有内容)的问题是 CController::renderPartial() 不会呈现所需的 javascript 代码以使其正常工作,这与包含所需布局和 JS 的 CController::render() 不同。

一个名为 ZController 的扩展程序提供了解决此问题的方法,但由于重新加载 CGridviews 的方式(通过对同一 URL 进行 ajax 调用)...当您尝试过滤/排序/分页通过 AJAX 加载的 CGridView ,随后的 Ajax 调用将替换您浏览器窗口的全部内容,但老实说,我认为也许只是也许这种解决方法可能会有所帮助,但我没有时间尝试它。

这就是我目前避免使用 AJAX 加载 CGridViews的原因。

于 2013-03-26T15:26:56.130 回答