2011-12-06 140 views

回答

1

您可以定義一個變量,它持有JSON響應的最後狀態從服務器返回:

var serverData; 
$('#list').jqGrid({ 
    datatype: 'json', 
    // ... other parameters 
    loadComplete: function (data) { 
     serverData = data; // or serverData = data.rows 
     // ... 
    }, 
    onSelectRow: function (id) { 
     if (serverData) { 
      // here you can access serverData, but you need 
      // here probably find the item in the serverData 
      // which corresponds the id 
     } 
    } 
}); 

如果從形式

{ 
    "total": "xxx", 
    "page": "yyy", 
    "records": "zzz", 
    "rows" : [ 
    {"id" :"1", "cell": ["cell11", "cell12", "cell13"]}, 
    {"id" :"2", "cell": ["cell21", "cell22", "cell23"]}, 
     ... 
    ] 
} 

有例如JSON數據那麼你可以直接保存在serverData不是數據。這可能是有趣的,只保存cell部分並將其保存爲serverData[id]值:

var serverData = []; 

$('#list').jqGrid({ 
    datatype: 'json', 
    // ... other parameters 
    loadComplete: function (data) { 
     var i, rows = data.rows, l = rows.length, item; 
     for (i = 0; i < l; i++) { 
      item = rows[i]; 
      serverData[item.id] = item.cell; 
     } 
     // ... 
    }, 
    onSelectRow: function (id) { 
     var item = serverData[id]; // the part of data which we need 
    } 
}); 

如果使用repeatitems: false設置在jsonReader那麼您可以在項目的serverData只有部分保存(所選屬性)代表了服務器數據的行。

以任何方式,你應該在一些變量定義loadCompleteloadCompletedata參數保存的信息的一部分。

+0

你可以看看這個嗎? http://stackoverflow.com/questions/8564806/jqgrid-error-when-moving-from-1-page-to-another – techlead

相關問題