关于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(真实值,显示值);