我想你嘗試調用addJSONData
方法之前網格將與尊重jQuery("#projectList").jqGrid({...});
創建的addJSONData
的使用實際上總是不需要(見一個從本人對上述here第一帖)。以同樣的方式,你不應該使用邪惡的方法eval
。一個使用jQuery.parseJSON或JSON.parse代替。
我想你應該使用datatype: 'json'
來解決你的問題。你應該發佈更多的代碼來向你展示如何在你的案例中使用其他jqGrid選項。
已更新:從您之前的問題看來,您似乎只想通過單擊「搜索」按鈕將其他數據發送到服務器。在這種情況下,我建議修改代碼以下
var $grid = $("#projectList");
$grid.jqGrid({
url: 'user595234.json',
datatype: "json",
serializeGridData: function (data) {
return $.param(data) + '&' + $("#project_search_form").serialize();
},
jsonReader: {id: "projectId", repeatitems: false},
colNames: ['ID', 'Name'],
colModel: [
{name: 'projectId', width: 255},
{name: 'name', width: 255}
],
rowNum: 10,
rowList: [10,20,30],
pager: '#projectPager',
sortname: 'projectId',
viewrecords: true,
sortorder: "desc",
caption: "Simple data manipulation",
height: "auto"
}).jqGrid("navGrid", "#projectPager", {edit: false, add: false, del: false});
$("#search").click(function() {
$grid.trigger("reloadGrid", [{page: 1}]);
});
在the demo我從使用jQuery.serialize的例子得到的只是形式和修改了一點。它顯示您需要
此外,一樣可以容易相對於提琴手或螢火蟲的驗證數據,該URL將BA附加有附加的參數,如下面
...?_search=false&nd=1336057299806&rows=10&page=1&sidx=projectId&sord=desc&a=1&b=2&c=3&d=4&e=7&f=8
的標準參數
_search=false&nd=1336057299806&rows=10&page=1&sidx=projectId&sord=desc
將與從參數的形式被附加
a=1&b=2&c=3&d=4&e=7&f=8
在某些情況下,可以選擇使用jQuery.serializeArray。它允許以另一種格式(如JSON)對數據進行序列化,或以某種其他格式轉換數據(請參閱here),使用$.extend可以輕鬆地將其與標準jqGrid參數合併。
更多細節在這裏http://stackoverflow.com/questions/10393256/jqgrid-not-display-properly – user595234
@ user595234:我更新了我的答案。 – Oleg