Yii,同一页面上的多个网格视图

时间:2013-02-21 14:08:35

标签: php ajax gridview yii

我在单页面上遇到多个网格视图的问题。

在我开始在jQueryUI选项卡中打开单个网格视图时,它的分页工作正常。现在,当我使用ajax调用打开一个带有新网格视图的新选项卡时,新网格视图上的分页工作正常,但第一个网格视图上的分页链接呈现/打开一个新页面,而不是使用ajax更新网格视图,就像寻呼机一样链接是正常链接

我没有得到确切的问题或背后的原因,任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

问题在于加载了ajax的内容,内容上的点击事件不会被注册,你需要.on('click')而不是.click()

问题解释为here

答案 1 :(得分:0)

之前我遇到过同样的问题。单击分页或排序后,链接将在新页面中打开。

如果您注意到,您会发现该网址中没有&ajax=id-of-the-grid值,其中id是您要更新的网格的ID。

为我解决的问题是在视图中添加脚本jquery.yiigridview.js文件, 并手动重新初始化视图。

这是一段解决我烦人问题的代码。

    <script type="text/javascript" src="/Project/assets/dd5f9a70/gridview/jquery.yiigridview.js"></script>
    <script type="text/javascript">

    /*<![CDATA[*/
    jQuery(function($) {
    jQuery('[data-toggle=popover]').popover();

    jQuery('body').tooltip({"selector":"[data-toggle=tooltip]"});

    jQuery('#project-grid').yiiGridView(
{'ajaxUpdate':['project-grid'],
'ajaxVar':'ajax',
'pagerClass':'pagination',
'loadingClass':'grid-view-loading',
'filterClass':'filters',
'tableClass':'table table-stats table-striped table-sortable',
'selectableRows':1,
'enableHistory':false,
'updateSelector':'{page}, {sort}',
'filterSelector':'{filter}',
'url':'/Project/index.php/realTime/AjaxUpdateProjectGrid',
'pageVar':'Project_page',
'afterAjaxUpdate':function() {
                jQuery('.popover').remove();
                jQuery('[data-toggle=popover]').popover();
                jQuery('.tooltip').remove();
                jQuery('[data-toggle=tooltip]').tooltip();
            }});
    });
    /*]]>*/

    </script>

希望它有所帮助。 谢谢, MAXX