页面上有两个jqGrid表格时,冲突问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了页面上有两个jqGrid表格时,冲突问题相关的知识,希望对你有一定的参考价值。

如果一个页面上存在多个jqGrid,发现当刷新每一个表格的时候,其实都是第一个表格进行刷新。

技术分享

 

当点击第二个表格分页的时候,第一个表格出现刷新,读取中.....

 

分析jqGrid源码发现:

技术分享

loadDiv = $("#load_"+$.jgrid.jqID(this.p.id)),  通过控制loadDiv 来控制读取中....的呈现状态。而针对loadDiv的选择器是跟jqgrid的id有关。

仔细分析出现这种问题的跟jqgrid对象对应的table有关:

1.未遵循ID选择器唯一性。

    在同一个页面上,一个id命名应该唯一,即使获取jQuery的时候限定了范围jQuery(selector, [context])即指定了context,但是this.p.id都一样,loadDiv获取的永远是第一个div。

2.table为指定id。

   table未指定id,而是通过class或者其他选择器获取,这样的话this.p.id为"","#load_"+$.jgrid.jqID(this.p.id) 都一样,loadDiv获取的永远是第一个div。

 

以上是关于页面上有两个jqGrid表格时,冲突问题的主要内容,如果未能解决你的问题,请参考以下文章

在Bootbox关闭时重新加载jQgrid

当同一页面上有两个菜单实例时,Jquery mmenu 不起作用

转发:jqgrid 设置冻结列

jqGrid使用记录总结

jqGrid怎么设置初始化页面时不加载数据(不向服务器请求数据)

如何根据屏幕分辨率调整 jqGrid 高度?