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>

作者:blog.ytso.com

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/14505.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论