Extjs4.1 checkboxgroup获取数据库值设置 选中
最近在extjs4.1升级,升级以后出现了一些问题:显著就是checkboxgroup和radiogroup的取值和设置值的问题,在这里列出了例子给大家参考。
//将后台数据转换为'1'数组
function transtyle(v){
var arr=v.split(',');
var c=new Array();
var k = ['1','2','3','4','5'];
for(var i=0;i<arr.length;i++){
arr[i].replace(' ','');
for(var j=1;j<=5;j++){
if(j==arr[i]){
c[i] = k[j-1];
}
}
}
return c;
}
//已通过科目
var passedCourseGroup = new Ext.form.CheckboxGroup({
columns: 5,
fieldLabel: '已通过科目',
// width:380,
id:'passedCourse',
items: [{
name: 'passedCourse',
boxLabel: '证券市场基础知识',
inputValue: '1'
}, {
name: 'passedCourse',
boxLabel: '证券交易',
inputValue: '2'
}, {
name: 'passedCourse',
boxLabel: '证券投资分析',
inputValue: '3'
}, {
name: 'passedCourse',
boxLabel: '证券投资基金',
inputValue: '4'
}, {
name: 'passedCourse',
boxLabel: '发行与承销',
inputValue: '5'
}]
});
var v='${csManageTO.csQulificateTO.passedCourse}';
var c = transtyle(v);
passedCourseGroup.setValue({
passedCourse: c
});
这个方式差不多是可以设置选中的。
具体解释就不多说了,相信各位应该能理解。
//获取checkbox的值,并拼成字符串
function getCheckgroupId(checkgroupId){
var passedCourseArr=Ext.getCmp(checkgroupId).getChecked();//这个可以取到选到选中的数组
var passedCourseStr = '';
var passedCourseLen=passedCourseArr.length;
for(var i=0;i<passedCourseLen;i++){
if(i==passedCourseLen-1){
passedCourseStr+=passedCourseArr[i].inputValue;
}else{
passedCourseStr+=passedCourseArr[i].inputValue+', ';
}
}
return passedCourseStr;
}