ExtJS动态加载复选框

Ext.onReady(function(){
	/**
	 * 功能:动态加载复选框
	 * @param {Object} r
	 */
	Ext.Ajax.request({
		url:basePath+'datamanager/equipmentreport/getCheckBox.hs',
		success:function(r){
			var unitColumns=[];
			//json字符串转换成json对象
			var jsonobj=eval('('+r.responseText+')');
			//添加全部选项
			unitColumns.push({
				boxLabel:'全部',
				name:'all',
				inputValue:'all',
				checked:false
			})
			//循环遍历加载
			for(var i=0;i<jsonobj.length;i++){
				unitColumns.push({
					boxLabel:jsonobj[i].boxLabel,
					name:jsonobj[i].name,
					inputValue:jsonobj[i].inputValue,
					checked:jsonobj[i].checked
				});
			}
			var checkboxgroup1=new Ext.form.CheckboxGroup({
				id:'checkbox1',
				fieldLabel:'设备区域',
				anchor:'100%',
				hideLabel:false,
				columns:8,
				items:unitColumns
			});
			mainPanel.add(0,checkboxgroup1);
			mainPanel.doLayout();
		}
	});
	
	var panel1=new Ext.form.FormPanel({
		renderTo: 'main',
		labelAlign : 'left',
		labelWidth : 60,
		layout : 'form',
		border : false,
		width : document.body.clientWidth,
		items:[]
	});
});

 注:eval()函数作用是把json字符串转换成json对象;

        调用mainPanel.add()方法后需要执行doLayout()

你可能感兴趣的:(checkbox,ExtJs,doLayout())