顯示之前從Ajax調用返回的數據我也顯示一些數據,我從服務器接收像這樣jqGrid的修改表
{"rowndx":"0","rows":"25","rowstotal":"100","rowsdata":[
["00","DEVICE001","T0_IHOME","1","***","1","10"],
["01","DEVICE002","NO_DEVICE","1","***","1","10"],
["02","DEVICE003","NO_DEVICE","0","***","1","10"],
.....
JSON對象,我想表顯示接收到的數據之前根據需要進行更改,將單位添加到數字或用單詞替換數字(例如0 - > OFF 1-> ON) 要做到這一點,我已經在ajax選項「成功」中關聯了我的編碼功能。然而,在這種情況下,消息「Loading ...」始終可見,並且不允許其他操作。 我將我的重新編碼過程移動到「完整」ajax選項,這次它似乎工作。 但我不明白我的錯誤是什麼,我不知道我的程序是否可以工作。 這是我的表AJAX配置
url : "devtbl.json",
mtype : "POST",
datatype : "json",
postData : ......
ajaxGridOptions: {
type : 'post',
contentType: 'application/json',
async : false,
complete : DEVparse_serverdata,
error : function() { alert('Something bad happened. Stopping');},
},
jsonReader : {
root : "tablerows",
page : "currentpage",
total : "totalpages",
records : "totalrecords",
cell : "",
id : "0",
userdata : "userdata",
repeatitems : true
},
和我的編碼功能
function DEVparse_serverdata(js , textStatus) {
var jsontablereply = {} ;
var rowsxpage_int = parseInt(UB.rowsxpage.DEVtable) ;
var jsonreply = jQuery.parseJSON(js.responseText) ;
jsontablereply.currentpage = "" + (1 + (parseInt(jsonreply.rowndx)/rowsxpage_int));
jsontablereply.totalpages = "" + parseInt((parseInt(jsonreply.rowstotal) + (rowsxpage_int-1))/rowsxpage_int) ;
jsontablereply.totalrecords = jsonreply.rowstotal;
jsontablereply.tablerows = [] ;
$.each(jsonreply.rowsdata, function(ndx, row) {
var rowarray = [] ;
rowarray[0] = row[0] ;
rowarray[1] = row[1] ;
rowarray[2] = row[2] ;
rowarray[3] = row[3] ;
rowarray[4] = row[4] ;
switch (row[2]) {
case "NO_DEVICE":
rowarray[5] = "***" ;
break ;
case "T0_IHOME":
rowarray[5] = "T=" + row[5] + "°C" ;
break ;
}
jsontablereply.tablerows[ndx] = rowarray ;
}) ; // each
jQuery("#DEVtbl")[0].addJSONData(jsontablereply);
}
(我是用jQuery初學者我的編碼風格是窮人)
你應該開始[「接受」](http://meta.stackexchange.com/a/5235/147495)回答你以前的問題。 – Oleg
您可以使用自定義格式器。 – ffffff01