我對我的網格有特殊的實現。
爲此我寫了一些代碼onSelectRow
和loadComplete
方法jqGrid。如何做jqGrid的loadComplete和onSelectRow的pre和post方法調用genecally?
在onSelectRow
我需要更新一個全局數組,並在loadComplete
方法我必須訪問全局數組,並需要jqGrid中的一些處理。
直到那時我沒事。我已經這樣做了。 現在我想以這樣的方式擴展這兩個方法,即實現將是通用的(其他網格可以在不編寫任何代碼的情況下使用它)。
爲此我想到了下面的步驟。
我想添加一個新的JS:在我的HTML(如jquery.jqGrid.additional.js)與jqGrid.js
我想通過jqGrid的數據陣列我的全局變量賦值
在這個js我要檢查電網
如果值是真實的,那麼我想延長onSelectRow,在這種方式的jqGrid執行我的兩個方法和loadComplete方法多選的值代碼寫在o中nSelectRow,也是loadComplete方法。
例如,我有preLoadComplete
和postLoadComplete
需要被正好之前和之後loadComplete
方法執行執行。同樣,這也適用於onSelectRow方法。
我在jquery.jqGrid.additional.js中寫下面的代碼,然後在jqGrid加載後沒有得到alert(1),alert(2)。
它只執行寫在jqGrid的loadComplete方法中的代碼。
var oldLoadComplete = $.fn.jqGrid.loadComplete;
$.jqGrid.extend({
loadComplete: function(){
var ret;
// do someting before
alert(1);
ret = oldLoadComplete.call (this);
// do something after
alert(3);
return ret; // return original or modified results
}
});
我嘗試了很多,花了很多時間。
嗨Derija,謝謝你的回覆。根據你的建議,我在jquery.jqGrid.additional.js中添加了上面的代碼。我的jqGrid如下所示,$(「#appAndContextTable」)。jqGrid({datastr:jsonString, ........, loadComplete:function(){ alert('Need to implement'); } });當我加載網格時,我得到了使用loadComplete方法寫入的警報。我沒有獲得預警和發佈警報。請幫助我如何獲得預先,發佈警報也。我怎樣才能得到屬性multiselect在我自己定義的loadComplete方法的價值? – user1591670 2012-08-13 18:12:36
@ user1591670只是關於我的帖子更新的通知。你可能想閱讀它。另外我建議在發佈另一個問題之前瀏覽一下你正在嘗試擴展的項目的源代碼。幫助很多。 ;)把這些東西搞清楚jqGrid花了我大約10分鐘。 – Kiruse 2012-08-13 19:15:37
謝謝Derija的幫助。我的問題解決了。你真的幫了我很多。另外我找到了獲取jqGrid的不同屬性值的方法。再次感謝。 – user1591670 2012-08-13 21:45:58