extjs 动态生成复选框
根据后台返回的json数据,动态生成复选框。
1、首先定义了存放复选框的fieldset
ElementCheckBox=Ext.extend(Ext.form.FieldSet,{
id:'_fieldset',
constructor:function(){
ElementCheckBox.superclass.constructor.call(this,{
layout:'column',
xtype:'checkboxgroup',
title:'统计元素'
});
}
});
2、动态生成checkbox,添加到fieldset
function generateCheckbox(){
//采用同步请求方式
var conn = Ext.lib.Ajax.getConnectionObject().conn;
conn.open("GET", 'findAllTjzdbm.do',false);
conn.send(null);
var result=Ext.util.JSON.decode(conn.responseText);
//或者Ext.decode (conn.responseText);
for(int i=0;i<result.length;i++){
var _checkbox=new Ext.form.Checkbox({
id:"addboxModule"+i,
name:"userModule",
boxLabel : result[i].tjzdmc,
inputValue : result[i].tjzdbm
});
if(result[i].tjzdbm=='OD_RANGE'){//OD范围必选
_checkbox.checked=true;
}
Ext.getCmp('_fieldset').add(_checkbox);
}
}
3、调用generateCheckbox()方法
说明:
1、缺点是生成的每个checkbox都是紧挨着排列的,想要中间能有间隔的排列,目前没有 找到方法,若哪位大侠知道,还望指点
2、采用同步请求需导入js文件
作者:zuyali
补充:web前端 , JavaScript ,