0

我在单个页面上面临多个网格视图的一些问题。

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

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

4

2 回答 2

2

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

问题在这里解释

于 2013-02-21T15:00:48.797 回答
0

我以前也有同样的问题。单击分页或排序后,链接将在新页面中打开。

如果您注意到,您会发现 url 中没有&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>

希望它可以帮助某人。谢谢,麦克斯

于 2013-11-02T04:10:34.557 回答