我可以从 js 刷新 Yii CGridView 吗?
Posted
技术标签:
【中文标题】我可以从 js 刷新 Yii CGridView 吗?【英文标题】:Can I refresh a Yii CGridView from js? 【发布时间】:2011-03-05 05:11:20 【问题描述】:当通过 XHR 提交“创建”模式对话框时 然后应该刷新 Yii CGridView 中的行。
我尝试通过在 XHR“创建”操作中渲染新的 gridview 然后通过 $("#list").html(response)
将其插入到页面中来实现这一点,但是渲染 CGridView
会导致 jQuery <script>
包含要注册的标签为了包含,所以当我将这些标签引入页面时,它们会重新加载 jQuery,这会清除我的 live 事件处理程序,所以一堆东西会中断。
这让我想到了,“GridView 知道如何刷新自己。哎呀,它一直在排序或页面上。”
所以我可以从 js 中单击 GridView 中的排序按钮,但这比理想少。我更愿意说
$("#list").gridview('reload') 或 $.fn.gridview.reload("#list") 或类似的意思。
或者做你刚才想到的简单得多的酷事。
【问题讨论】:
【参考方案1】:执行$.fn.yiiGridView.update("<id of CGridView>");
【讨论】:
这个命令的缺点是它会重置过滤器、排序和分页。因此,如果您按 ID 订购商品,请转到第二页,然后调用此命令,当前屏幕会丢失,您必须再次找到您的商品。 $.fn.yiiListView.update("以上是关于我可以从 js 刷新 Yii CGridView 吗?的主要内容,如果未能解决你的问题,请参考以下文章