git.ithinksw.org
/
extjs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Upgrade to ExtJS 3.3.1 - Released 11/30/2010
[extjs.git]
/
src
/
widgets
/
form
/
Combo.js
diff --git
a/src/widgets/form/Combo.js
b/src/widgets/form/Combo.js
index
13baa53
..
5100271
100644
(file)
--- a/
src/widgets/form/Combo.js
+++ b/
src/widgets/form/Combo.js
@@
-1,8
+1,8
@@
/*!
/*!
- * Ext JS Library 3.3.
0
- * Copyright(c) 2006-2010
Ext JS,
Inc.
- * licensing@
extjs
.com
- * http://www.
extjs
.com/license
+ * Ext JS Library 3.3.
1
+ * Copyright(c) 2006-2010
Sencha
Inc.
+ * licensing@
sencha
.com
+ * http://www.
sencha
.com/license
*/
/**
* @class Ext.form.ComboBox
*/
/**
* @class Ext.form.ComboBox
@@
-935,10
+935,16
@@
myCombo.keyNav.tab = function() { // Override TAB handling function
},
// private
},
// private
- assertValue
: function(){
+ assertValue : function(){
var val = this.getRawValue(),
var val = this.getRawValue(),
- rec
= this.findRecord(this.displayField, val)
;
+ rec;
+ if(this.valueField && Ext.isDefined(this.value)){
+ rec = this.findRecord(this.valueField, this.value);
+ }
+ if(!rec || rec.get(this.displayField) != val){
+ rec = this.findRecord(this.displayField, val);
+ }
if(!rec && this.forceSelection){
if(val.length > 0 && val != this.emptyText){
this.el.dom.value = Ext.value(this.lastSelectionText, '');
if(!rec && this.forceSelection){
if(val.length > 0 && val != this.emptyText){
this.el.dom.value = Ext.value(this.lastSelectionText, '');
@@
-947,11
+953,11
@@
myCombo.keyNav.tab = function() { // Override TAB handling function
this.clearValue();
}
}else{
this.clearValue();
}
}else{
- if(rec){
+ if(rec
&& this.valueField
){
// onSelect may have already set the value and by doing so
// set the display field properly. Let's not wipe out the
// valueField here by just sending the displayField.
// onSelect may have already set the value and by doing so
// set the display field properly. Let's not wipe out the
// valueField here by just sending the displayField.
- if (
val == rec.get(this.displayField) && this.value == rec.get(this.valueField)
){
+ if (
this.value == val
){
return;
}
val = rec.get(this.valueField || this.displayField);
return;
}
val = rec.get(this.valueField || this.displayField);