extjs下拉框,多选,单选,动态传值

后台java代码

@RequestMapping(params = "command=adduser")
public void getUser(HttpServletResponse response) throws Exception{
JSONObject result1 = new JSONObject();
JSONArray rows1 = new JSONArray();
String search ="1=1";
List<Inducedcause> list = inducedcauseService.getInducedcauseList(search);
JSONObject ux = null;
for(Inducedcause uc:list){
ux= new JSONObject();
ux.put("id", uc.getId());
ux.put("reason", uc.getReason());
rows1.put(ux);
}
result1.put("results1", rows1);
// result.put("totalCount", list.size());
response.getWriter().write(result1.toString());
}

前台extjs代码

var comstore1 = new Ext.data.Store(
{proxy: new Ext.data.HttpProxy({url: '${pageContext.request.contextPath}/treatmentrecord/treatmentrecord.page?command=adduser'}), 
//读取json
reader: new Ext.data.JsonReader({
root: 'results1',
remoteSort: true,
fields: ['id','reason']})
});

{
xtype:'lovcombo',
fieldLabel: '诱发原因',
id: 'inducedcause-id',
name: 'inducedcause',
displayField : 'reason',
valueField : 'id',
hiddenName : 'id',
mode : 'local',
editable:false,
loadingText : '加载中...',
store : comstore1,
value:'<%=realname%>',
emptyText:'请选择原因',
triggerAction : 'all',
maxLength : 100,
multiSelect:true,
anchor:'100%'
},

要实现多选下拉框要引入两个JS类库

<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/ext/examples/ux/css/Ext.ux.form.LovCombo.css" />
<script type="text/javascript" src="${pageContext.request.contextPath}/ext/examples/ux/Ext.ux.form.LovCombo.js"></script>

否则为单选下拉框,数据是动态的

初学extjs,希望可以帮到需要的人

posted @ 2016-04-14 19:13  多语种程序员  阅读(3638)  评论(1编辑  收藏  举报