我在单页面上遇到多个网格视图的问题。
在我开始在jQueryUI选项卡中打开单个网格视图时,它的分页工作正常。现在,当我使用ajax调用打开一个带有新网格视图的新选项卡时,新网格视图上的分页工作正常,但第一个网格视图上的分页链接呈现/打开一个新页面,而不是使用ajax更新网格视图,就像寻呼机一样链接是正常链接
我没有得到确切的问题或背后的原因,任何帮助将不胜感激。
答案 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