ExtJs 3.2 复选框数据项动态加载

来源:互联网 发布:自动关注软件源码 编辑:程序博客网 时间:2024/06/05 04:40
var myCheckboxItems = [];
var myCheckboxGroup = new Ext.form.CheckboxGroup({
xtype : 'checkboxgroup',
columns : 6,
items : myCheckboxItems
});;
var form = new Ext.FormPanel({
frame : true,
border : false,
autoHeight : true,
labelAlign : "right",
labelWidth : 60,
items : [{
layout : "form",
border : false,
columnWidth : .33,
items : [myCheckboxGroup]
}]
});




Ext.Ajax.request({//请求数据
method : 'POST',
async : true,
url : contextPath
+ '/attencePersonWorkScore/attencePersonWorkScore!getWorkScoreData.do',
params : {
// "attenceWorkScore.id" : attenceWorkScoreId
},
success : function(response, options) {
var data = Ext.decode(response.responseText);
var ids = [];//id值
var names = [];//名字
ids = (data.ids).split(',');
names = (data.names).split(',');


for (var i = 0; i < ids.length; i++) {
var checkboxObj = {
boxLabel : names[i],
name : 'cbLable' + ids[i],
id : 'cb' + ids[i],
inputValue : ids[i],
padding : '0 20px 5px 0',
checked : false
};


}

form.doLayout(); // 重新调整版面布局
window.show();
for (var j = 0; j < dayIds.length; j++) {//赋值初值
Ext.getCmp('cb' + dayIds[j]).setValue(true);
}


},
failure : function(response, options) {
Ext.Msg.alert("错误", "加载数据失败!");
}
});

var window = new Ext.Window({
title : "班次",
buttonAlign : 'center',
openFullScreen : true,// 全屏展示
autoHeight : true,
closeAction : 'hide',
closable : true,
border : false,
constrain : true,
modal : true,// 窗口弹出后屏蔽掉其他组件
plain : true,// 对窗口内容部分进行美化
constrainHeader : true,
layout : 'fit',
items : [form]
// items : [WorkScore_addForm]
,
buttonAlign : "center",
buttons : [sureBtn, closeBtn],
resizable : true,
autoScroll : true,
// bodyStyle : "padding-right:20px;",
listeners : {

}
});


var sureBtn = new Ext.Button({//提交按钮
text : '确定',
iconCls : "accept",
handler : function() {

for (var i = 0; i < myCheckboxGroup.items.length; i++) {//获取选中的值
if (myCheckboxGroup.items.itemAt(i).checked) {
workScore.push(myCheckboxGroup.items.itemAt(i).inputValue);
}
}


if (workScore.length == 0) {
Ext.Msg.alert("提示", "请选择班次!");
return;
}
Ext.Ajax.request({
method : 'POST',
url : contextPath
+ '/attencePersonWorkScore/attencePersonWorkScore!updateWorkSocre.do',
params : {
"workScoreId" : scoreId,
"scoreDay" : scoreDay,
"scoreDayValue" : workScore.join(",")
},
success : function(response, options) {
var json = Ext.decode(response.responseText);
Ext.Msg.alert("提示", json.data);
grid.store.reload();
WorkScore_addWindow.hide();
myCheckboxItems = [];
myCheckboxGroup.reset();
},
failure : function(response, options) {
Ext.Msg.alert("错误", "加载数据失败!");
}
});
}

});


首先创建好checkbox和checkboxgroup然后再创建formpanel,再将之前创建好的checkboxgroup作为formpanel的items,这样,就没有问题了所以这种方法解决了问题..


原创粉丝点击