2011-03-31 57 views
0

我ExtJS的形式在后台& PHP,在我所创建的组合框,ExtJS的组合框:valuefield不POSTDATA avaialble

我能够在组合框中设置值,但是当我提交形式我得到postfield数据中的显示字段,如果我手动更改组合框的值,即从'two'到'one',那么组合的valuefield在post数据中可用 即使setRawValue也给出相同的结果。 这里是我的代码:

var exampleData = [[1,'one'],[2,'two'],[3,'three']]; 

    var cmbJProject = new Ext.form.ComboBox({ 
     width   : 120, 
     hiddenName  : 'project', 
     store   : new Ext.data.ArrayStore({ 
         fields : ['value', 'name'], 
         data : exampleData 
         }), 
     valueField  : 'value', 
     displayField : 'name', 
     typeAhead  : false, 
     mode   : 'local', 
     forceSelection : true, 
     triggerAction : 'all', 
     selectOnFocus : true, 
     id    : 'project1', 
     editable  : false 
    }); 


    cmbJProject.setValue('two'); 

回答

1

报价Ext.form.ComboBox#setValue

设置指定的值设置到字段。如果该值匹配,则相应的记录文本将显示在该字段中。如果该值与现有项目的数据值不匹配,并且已定义valueNotFoundText配置选项,则它将显示为默认字段文本。否则,该字段将为空白(尽管值仍将被设置)。

看来它的行为如上所述。尝试:

cmbJProject.setValue(2); 
+0

cmbJProject.setValue(2);通过这样做,它在显示字段中设置值'2',但是我想将它设置在值域 – MMT 2011-03-31 10:41:51

+0

cmbJProject.setValue(2,'two'); Wroked ..! – MMT 2011-03-31 10:49:17

+0

@MMT,接受wombleton的答案,如果它为你工作。 – McStretch 2011-03-31 12:02:23