论坛首页 Web前端技术论坛

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

浏览 3181 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-01-28  

今天遇到了从后台返回数据给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(真实值,显示值);

论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics