Sencha Touch 选择字段更改事件不适用于不同的值但相同的文本
Sencha Touch selectfield change event not working with different value but same text
选择字段更改事件不适用于不同的值但相同的文本。
演示在这里:- https://fiddle.sencha.com/#fiddle/jat
Ext.create('Ext.form.Panel', {
fullscreen: true,
items: [
{
xtype: 'fieldset',
title: 'Select',
items: [
{
xtype: 'selectfield',
label: 'Choose one',
options: [
{text: 'First Option', value: 'first'},
{text: 'Second Option', value: 'second'},
{text: 'Second Option', value: 'third'}
],
listeners:{
change:function(selectfield,newValue,oldValue,eOpts){
alert(newValue);
}
}
}
]
}
]
});
在源代码中查看 Input.js 文件
setValue: function(newValue) {
var oldValue = this._value;
this.updateValue(this.applyValue(newValue));
newValue = this.getValue();
**if (String(newValue) != String(oldValue) && this.initialized) {
this.onChange(this, newValue, oldValue);
}**
return this;
}
setValue: function(newValue) {
var oldValue = this._value;
this.updateValue(this.applyValue(newValue));
newValue = this.getValue();
//alert(newValue)
if (this.initialized) {
this.onChange(this, newValue, oldValue);
}
return this;
}
这是有效的解决方案。
选择字段更改事件不适用于不同的值但相同的文本。 演示在这里:- https://fiddle.sencha.com/#fiddle/jat
Ext.create('Ext.form.Panel', {
fullscreen: true,
items: [
{
xtype: 'fieldset',
title: 'Select',
items: [
{
xtype: 'selectfield',
label: 'Choose one',
options: [
{text: 'First Option', value: 'first'},
{text: 'Second Option', value: 'second'},
{text: 'Second Option', value: 'third'}
],
listeners:{
change:function(selectfield,newValue,oldValue,eOpts){
alert(newValue);
}
}
}
]
}
]
});
在源代码中查看 Input.js 文件
setValue: function(newValue) {
var oldValue = this._value;
this.updateValue(this.applyValue(newValue));
newValue = this.getValue();
**if (String(newValue) != String(oldValue) && this.initialized) {
this.onChange(this, newValue, oldValue);
}**
return this;
}
setValue: function(newValue) {
var oldValue = this._value;
this.updateValue(this.applyValue(newValue));
newValue = this.getValue();
//alert(newValue)
if (this.initialized) {
this.onChange(this, newValue, oldValue);
}
return this;
}
这是有效的解决方案。