setCredit = function(gridObject){
var parEval;
var record = gridObject.getSelectionModel().getSelected();
partyName.setValue( record.get('partyName') );
partyIdHiddenId.setValue( record.get('partyId') );
Ext.Ajax.request({
url : BASE_PATH + "/contract/InitCredit.action?partyEval.id="+partyEval.id,
method: "GET",
params: {partyId: record.get('partyId'), contId: cont.id, busiType: 'SlawContractAlter'},   
async: false,     
success:function(response, options){
parEval = eval("(" + response.responseText + ")")['partyEval'];
},
scope: this
});
busiTypeHidden.setValue(parEval.busiType);
gradeType.setValue(parEval.gradeName); 
gradeType.hiddenValue = parEval.gradeId,
// gradeType.emptyText = parEval.gradeName,
alert(gradeType.hiddenValue);
demo.setValue(parEval.demo);
evalIdHiddenId.setValue(parEval.id);
}
// 查询信用度级别map
var gradeStore = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({
url : '/SLaw/common/QueryListByMap.action?propertyName=getCreditLevel'
}),
reader : new Ext.data.JsonReader(
{root : 'dictList'}, 
['dictId', 'dictName']
)
});
gradeStore.load();

var gradeType = new Ext.form.ComboBox ({
fieldLabel: '信用等级',
allowBlank: false,
blankText: "不能为空,请填写",
emptyText: '请选择..',//提示字符串  
triggerAction: 'all',//点击下拉按钮全部显示
mode:'local',
editable : false,
store: gradeStore,
valueField:'dictId',
        displayField: "dictName",
        hiddenName : 'partyEval.gradeId',
        value: partyEval.gradeName,
hiddenValue: partyEval.gradeId,
anchor: '80%'
});
这种赋值方法 在编辑过程中 如果没有重新选择Ext.form.ComboBox中的选项 直接提交保存 就会报错,怎么办呢?

解决方案 »

  1.   

    自己用这种方法解决了额gradeType.setValue(parEval.gradeName); 
    gradeType.hiddenValue = parEval.gradeId,
      

  2.   

    在ComboBox初始化时加个隐藏控件hiddenName: 'SelectId'
    代码如下:
    Ext.onReady(function () {
                var combo = new Ext.form.ComboBox({
                store: store,
                hiddenName: 'SelectId',
                valueField: 'id',
                displayField: 'title',
                typeAhead: true,
                mode: 'local',
                forceSelection: true,
                triggerAction: 'all',
                emptyText: '请选择',
                selectOnFocus: true,
                applyTo: 'local-states'        });获取ComboBox隐藏值:代码如下
     <input id="Button1" type="button" value="button" onclick="alert(Ext.get('SelectId').getValue());" />