当前位置: 代码迷 >> Web前端 >> 关于COMBOX联动的展示文本设置
  详细解决方案

关于COMBOX联动的展示文本设置

热度:95   发布时间:2012-11-22 00:16:41.0
关于COMBOX联动的显示文本设置

今天遇到了从后台返回数据给combox显示的问题,通过网络和朋友的帮助指导了算是明白了。有两种方式可以,

一种是ext本身解决方法:

给combox设置hiddenName:'XXX'和valueField:'XXX'这个两个值设置一致,在进行setValue(真实值)和setRowValue(显示值)的操作。

?

另一种方法就是对combox中的sevValue方法进行重载,代码如下

Ext.override(Ext.form.ComboBox,{
	setValue : function(v, _text){
        		var text = v;
       		 if(this.valueField){
            			var r = this.findRecord(this.valueField, v);
           			 if(r){
               				 text = r.data[this.displayField];
            			}else if(this.valueNotFoundText !== undefined){
               				 text = this.valueNotFoundText;
           			 }
        		}
        
       		 if( arguments.length >= 2 )
        			text = _text;
        
        		this.lastSelectionText = text;
       		 if(this.hiddenField){
            			this.hiddenField.value = v;
        		}
        		Ext.form.ComboBox.superclass.setValue.call(this, text);
        		this.value = v;
    }
});

?注释:setValue(真实值,显示值);