欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

EXTJS2.2组件Combobox下拉框获取数据

程序员文章站 2022-07-13 22:45:22
...
    var dataPath;
    //远程连接
    var genderStore = new Ext.data.JsonStore({         
            proxy: new Ext.data.HttpProxy({              
                method: "POST",               
                url: "<%=request.getContextPath()%>/tHarvestTableSdep.do?invoke=listTplMapDsForJson"   
            }),
            //root和fields需和后台获取json格式一致   
            root: "data",            
            fields:['dataPath','datasourceName'],    
            id:"departmentStore"
        });
        //这一步必须要,加载数据仓库连接
        genderStore.load();
        var comboBox =  new Ext.form.ComboBox({
            id:'comboBox',
            mode : 'local',
            store : genderStore,
            width : 300,
            triggerAction: 'all',
            hiddenName:'dataPath',
            //展示数据
            displayField : 'datasourceName',
            //option的value
            valueField : 'dataPath',
            fieldLabel : '数据挂载目录',
            listeners:{
                'select':function(arg){
                    //获取选中下拉框的value
                    dataPath = Ext.getCmp("comboBox").getValue();
                }
            }
        });

后台传入前端的数据json格式:

{
	"data": [
        {
	    	"dataPath": "cd669a58f7bb454eb970a3403b01c39a",
	    	"datasourceName": "采集RELA"
	    }, {
	    	"dataPath": "f8d886a810f440e398eaa340eff717b0",
	    	"datasourceName": "长生人寿数据标准数据源"
    	}, {
	    	"dataPath": "be32616ebbbb43c5a6fae9aa1d927cb5",
	    	"datasourceName": "数据标准采集数据源1008"
	    }
    ]
}

 后台复杂json格式拼写方法

参考了https://www.jb51.net/article/137203.htm博主的,感谢

        JSONObject jsonObject = new JSONObject();
        List<JSONObject> jsonList = new ArrayList<>();
        for (THarvestDatasource tHarvestDatasource : list) {
            JSONObject jsonObject2 = new JSONObject();
            jsonObject2.element("dataPath",tHarvestDatasource.getDataPath());
           jsonObject2.element("datasourceName",tHarvestDatasource.getDatasourceName());
            jsonList.add(jsonObject2);
        }
        jsonObject.element("data",jsonList);