1

私は jqgrid を使用しておりreloadGrid、いくつかのイベントをトリガーしています。

リロードされたものからreloadGrid取得できるように、イベントを処理したいだけです。userDataこのために、使用することを提案するかもしれませんがloadCompleteloadCompleteグリッドの最初のロード時にイベントと呼ばれます。reloadGridしかし、私はイベントだけを聞きたいです。

私は次のことを試しましたが、私が望んでいたことを達成できません。

if($('#table').trigger('reloadGrid').length>0)
{
var userData = $('#table').jqgrid('getGridParam', 'userData');
//here the userData is old data not the reloaded one.
}

誰でも回避策を提案できますか。

4

2 に答える 2

1

なぜこれをしないのですか:

// to trigger the event
$('#table').trigger('reloadGrid');  

// to listen to the event
$('#table').on('reloadGrid', function() {
   var userData = $('#table').jqgrid('getGridParam', 'userData');
   //here the userData is old data not the reloaded one.
})

を使用してイベントをトリガーし、使用してイベントを.trigger()リッスンし.on()ます ... docs for .on()here

于 2012-06-11T10:11:07.797 に答える
0

私はそのための回避策を作りました。

グローバル変数があった

var loadedonce = false;

そして、loadCompleteリスナーでは次のことが行われます。

loadComplete: function(data){
if(!loadedonce){
//some manupulations
loadedonce = true;
}
else{
var userData = $('#table').jqgrid('getGridParam', 'userData');
//this userData has the latest data i needed
}
}

誰かがより良い回避策を持っている場合は、共有してください...

于 2012-06-11T10:17:41.373 に答える