日期:2014-05-17  浏览次数:20706 次

ext的combo 实际值在传到后台时出问题
EXT2,下面的combo是form的items里面的元素,可是表单submit后,传了显示值到后台,而不是传实际值。请问是哪里出了问题?
{
xtype : 'combo',fieldLabel:'审核开通有效期', id:'reply_times',
store : new Ext.data.SimpleStore({  
   data: [['一个月','1'],['三个月','2'],['半年','3']],  
    fields:['text', 'value']  
   }),  
   displayField:'text', valueField:'value',  
   mode : 'local', editable : false,  
   triggerAction:'all',  
   anchor:'98%',emptyText:'请选择'  
  }


后台打印结果的代码:if(this.reply_times!=null) System.out.println("!!!!>>>>>"+reply_times);
打印结果:!!!!>>>>>半年
应该是“!!!!>>>>>3”这样才对啊

------解决方案--------------------
你的数据是不是有问题啊data: [['一个月','1'],['三个月','2'],['半年','3']],  
要不你换下位置试试数字放前边,汉字放后边。
看你下边的2个属性 displayField:'text', valueField:'value',  
觉得你的数据应该这样写才对
[[text:'一个月',value:'1'],[text:'三个月',value:'2'],[text:'半年',value:'3']],  

------解决方案--------------------
没用过ext2,不过我猜你把数组data、fields里的元素换一下位置,应该就解决了,如fields:['value', 'text']