Ext4.2 动态checkbox

Ext4.2 没提供proxy代理 动态生成checkbox

现记录实现办法

ids:回显数据时,要显示勾选Chekbox的值

flag:是否可修改,true不可修改 ,false为可修改

name:每个checkbox的name

返回数据即为checkbox的json格式数据


function getAccountType(ids,flag,name){
	//flag 为true不可修改
	var data;
		Ext.Ajax.request({
			url : 'brokersDownload/brokerBasicInfo.jhtml?type=getAccountType',
			async:false,
   		 	success : function(response, action){
   		 		if(response.responseText != ""){
   		 			data =  Ext.decode(response.responseText);
   		 		}else{
   		 			Ext.MessageBox.alert('提示', '找不到账户类型!');
   		 		}
   		 	},   
   		 	failure : function(form, action){
   		 		Ext.MessageBox.alert('提示', '找不到账户类型!');
   		 	}
		})
	return formatData(ids,data,flag,'accountType');
}


function formatData(ids,data,flag,name){
	var arr = []
	for(var i = 0;i < data.length; i ++){
		arr.push({boxLabel:data[i].boxLabel,inputValue:data[i].inputValue,name:name})
		if(flag){
			arr[i].readOnly = true;
		}
	}
	if(ids != null){
		for( i in ids){
			for(j in arr){
				if(ids[i] == arr[j].inputValue){
					arr[j].checked = true;
				}
			}
		}
	}
	return arr;
}

原来api中有解决方案setValue,自己实现一遍也是真傻

Ext4.2 动态checkbox


你可能感兴趣的:(Ext4.2 动态checkbox)