首页 > 代码库 > EasyUI combobox 加载JSON数据《一》

EasyUI combobox 加载JSON数据《一》

Action返回 JSON 格式如下:

jsonResult = {  total=7,rows=[     {TEXT=技术支持, ID=402894ca4419acf1014419b148a10000},      {TEXT=开发部, ID=402894ca4419acf1014419beb1bc0001},      {TEXT=实施, ID=4028e439476b55be01477bbf0fab0000},      {TEXT=技术支持, ID=4028e439476b55be01477bbfb80e0001},     {TEXT=客户服务, ID=4028e439476b55be01477bc015a80002}]}

json中包含 totalrows,我们需要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数据《一》