標籤:
Action返回 JSON 格式如下:
jsonResult = { total=7,rows=[ {TEXT=支援人員, ID=402894ca4419acf1014419b148a10000}, {TEXT=開發部, ID=402894ca4419acf1014419beb1bc0001}, {TEXT=實施, ID=4028e439476b55be01477bbf0fab0000}, {TEXT=支援人員, ID=4028e439476b55be01477bbfb80e0001}, {TEXT=客戶服務, ID=4028e439476b55be01477bc015a80002}]}
json中包含 total 和 rows,我們需要rows下面的內容來顯示在combobox中,API規定必須用下面格式的json:
[{ "id":1, "text":"text1" },{ "id":2, "text":"text2" },{ "id":3, "text":"text3", "selected":true },{ "id":4, "text":"text4" },{ "id":5, "text":"text5" }]
官方給出了一個樣本
$(‘#cc‘).combobox({ url:‘combobox_data.json‘, valueField:‘id‘, textField:‘text‘ });
一直不明白只需一個url 如何返回資料?百思不得姐
以下是兩種解決方案
第一種:
var url = "admin/FrmQueryAllGroup.do";$.getJSON(url,function(json) { $(‘#cc‘).combobox({ data: json.jsonResult.rows, valueField: ‘ID‘, textField: ‘TEXT‘ });});
第二種:
$.ajax({ type: "POST", url: ‘admin/FrmQueryAllGroup.do‘, dataType: "json", success: function(json) { $(‘#cc‘).combobox({ data: json.jsonResult.rows, valueField: ‘ID‘, textField: ‘TEXT‘ }); }});
註:jsonResult 為Action中傳回值,rows 為 jsonResult 中的屬性
struts.xml
<package name="FrmTaskUser_Ajax_code" extends="json-default"> <action name="FrmQueryAllGroup" method="queryAllGroup" class="org.bkgd.autoform.web.action.ActionTaskuserFormQuery"> <result type="json"></result> </action></package>
EasyUI combobox 載入JSON資料