easyui下拉框获取值

easyui下拉框的值为json格式栗子:

 

前台的写法:

function queryDes(){
        $('#des').combobox({ 
            url: 'businessBaseInfo/queryDes.action',
            valueField:'enmDatOpt',   //往后台传的值
            textField:'enmDatDes'    //前台下拉框显示的内容
         }); 
    }

url获取的json格式为下,这里的数据是后台包装好的json格式,可以直接获取:

[
    {
        "enmDatDes": "生猪代宰户",
        "enmDatOpt": "2001"
    },
    {
        "enmDatDes": "生猪经销商",
        "enmDatOpt": "2002"
    },
    {
        "enmDatDes": "活羊经销商",
        "enmDatOpt": "2022"
    },
    {
        "enmDatDes": "全部",
        "enmDatOpt": ""
    }
]

同时也有后台给的json不符合规则,我的做法是前台解析json,然后重新包装数据例如:

{
    "errorCode": 10000,
    "errorMsg": "操作成功",
    "list": [
        {
            "enmCnNam": "流通节点类型",
            "enmDatDes": "屠宰厂",
            "enmDatLen": "4",
            "enmDatOpt": "0001",
            "enmEnNam": "NODETYPE",
            "enmNo": "1",
            "sysId": "1000",
            "sysNam": "肉菜系统"
        },
        {
            "enmCnNam": "流通节点类型",
            "enmDatDes": "超市",
            "enmDatLen": "4",
            "enmDatOpt": "0004",
            "enmEnNam": "NODETYPE",
            "enmNo": "11",
            "sysId": "1000",
            "sysNam": "肉菜系统"
        },
        {
            "enmCnNam": "流通节点类型",
            "enmDatDes": "团体消费单位",
            "enmDatLen": "4",
            "enmDatOpt": "0005",
            "enmEnNam": "NODETYPE",
            "enmNo": "12",
            "sysId": "1000",
            "sysNam": "肉菜系统"
        }
    ]
}

前台接受json并解析,前台下拉框数据需要的是enmDatDes和enmDatOpt这两个,那么就包装这两个

   
   
   var StuArrayObjs = []; function queryDes(){ $.ajax({ url:'common/findDicList?enmEnNam=NODETYPE', dataType:"json", type:"POST", success:function(data){ var obj = eval(data); for(var i=0;i<obj.list.length;i++){ var StuArrayObj = {}; StuArrayObj["enmDatDes"] = obj.list[i].enmDatDes; StuArrayObj["enmDatOpt"] = obj.list[i].enmDatOpt; StuArrayObjs.push(StuArrayObj); } //var TeachCourseJsonString = JSON.stringify(StuArrayObjs); 注意这个,下拉框的数据不是要这个 $('#des1').combobox({ data:StuArrayObjs, valueField : 'enmDatOpt', //往后台传的值 textField : 'enmDatDes' //前台下拉框显示的内容 }); } }); }

这样就完成了。

posted @ 2015-04-30 08:21  LoMan  阅读(831)  评论(0编辑  收藏  举报