当在Extjs写的项目中,包含修改功能,用于修改某些数据信息。如果在这个修改功能的界面中包含下拉框,就需要将原来的值显示出来,再进行数据的修改。这时就需要对该下拉框进行赋值。
一、简单的赋值,没有联动的赋值
1、定义的下拉框
{ xtype: 'comcmb_sex', name: 'sex', fieldLabel: '性别', allowBlank: false, msgTarget: 'side', width: 320, style: 'margin: 3px 0 0 0' }
2、赋值
//性别下拉框赋值
var sexValue = StuInfStore.getAt(0).get('sex');//获取性别原来的值
var sexNode = mForm.findField('sex').getStore().findRecord('sexId', sexValue);//在性别下拉框对应的store中查找与原值相等的记录,就是sexValu为1,则在store中查找value对于1的记录,也就是<option value=1></option>。
mForm.findField('sex').select(sexNode);//下拉框中选中该记录,也就选中该<option></option>
二、联动下拉框赋值
1、定义联动下拉框,可以看Extjs4之下拉框三级联动
2、赋值与上面差别不大。
//系部下拉框赋值
var depValue = StuInfStore.getAt(0).get('depId');
var depNode = mForm.findField('depName').getStore().findRecord('depId', depValue);
mForm.findField('depName').select(depNode);
//专业下拉框赋值
var majorStore = mForm.findField('majorName').getStore();
majorStore.proxy.url = 'aspx/Depmajor/List4Combo.aspx?depId=' + depValue;
majorStore.load({
scope: this,
callback: function (records, operation, success) {
var responseData = majorStore.getProxy().getReader().rawData;
if (typeof (responseData) == "undefined") {
return;
}
var responseFlag = responseData.success;
if (responseFlag != null && responseFlag == false) {
Ext.Msg.alert('温馨提示', '您好,加载专业下拉框失败!');
}
//专业下拉框赋值
var majorValue = StuInfStore.getAt(0).get('majorId');
var majorNode = mForm.findField('majorName').getStore().findRecord('majorId', majorValue);
mForm.findField('majorName').select(majorNode);
}
});