Easyui中的combobox加載來自Action的JSON的2種方法

Easyui中的datagrid和combobox加載Json的格式是不一樣的。一旦格式錯誤在Easyui中便無法現象出來。

datagrid加載的Json格式如下

{"total":28,"rows":[
	{"productid":"FI-SW-01","productname":"Koi"},
	{"productid":"K9-DL-01","productname":"Dalmation"},
	{"productid":"RP-SN-01","productname":"Rattlesnake"},
	{"productid":"RP-LI-02","productname":"Iguana"},
	{"productid":"FL-DSH-01","productname":"Manx"},
	{"productid":"FL-DLH-02","productname":"Persian"},
	{"productid":"AV-CB-01","productname":"Amazon Parrot"}
]}

combobox加載的Json格式如下

[
{"productid":"FI-SW-01","productname":"Koi"},
{"productid":"K9-DL-01","productname":"Dalmation"},
{"productid":"RP-SN-01","productname":"Rattlesnake"},
{"productid":"RP-LI-02","productname":"Iguana"},
{"productid":"FL-DSH-01","productname":"Manx"},
{"productid":"FL-DLH-02","productname":"Persian"},
{"productid":"AV-CB-01","productname":"Amazon Parrot"}
]


combobox加載JSON方法1:輸出符合要求的JSON

在Java代碼中

        JSONArray json = JSONArray.fromObject(list);
        System.out.println(json.toString()); 
        response.setCharacterEncoding("utf-8");// 指定爲utf-8
	response.getWriter().write(json.toString());// 轉化爲JSOn格式

在jsp代碼中

$('#cc').combobox({   
		    url:'load!queryCpersontype',   
		    valueField:'code',   
		    textField:'note'  
		}); 

combobox加載JSON方法2:雖然輸出的JSON不符合要求,但是在jsp頁面中轉化爲符合要求的

在Java代碼中

JSONObject jobj = new JSONObject();// new一個JSON
		jobj.accumulate("rows", list);// row是代表顯示的頁的數據
		log.info("JSON格式:" + jobj.toString());
		response.setCharacterEncoding("utf-8");// 指定爲utf-8
		response.getWriter().write(jobj.toString());// 轉化爲JSOn格式

在jsp代碼中

 $.ajax({
	   type: "POST",
	   url: "load!queryCpersontype",
	   dataType:"json",
	   success: function(json){
	     $("#cc").combobox({
	 		data:json.rows,
	 		valueField:'code',
	 	    textField:'note'
	 	});
	   }
	 });




發佈了38 篇原創文章 · 獲贊 119 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章