如果一個頁面上存在多個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。