[英]How do I access a numberfield value from a button's handler in ExtJs 4?
我有一个包含以下项目的面板:
{
xtype: 'numberfield',
id: 'articleFastSearch',
listeners: {
scope: this,
specialkey: function(field, e) {
if (e.getKey() == Ext.EventObject.ENTER) {
var val = this.rawValue;
// Do stuff with val
}
}
}
},
{
id: 'articleFastSearchBtn',
text: 'Open article',
scope: this,
handler: function(btn) {
console.log(Ext.get("articleFastSearch"));
var val = Ext.get("articleFastSearch").getValue();
console.log(val);
// Do stuff with val
}
}
numberfield上的侦听器工作正常,但是我无法从按钮处理程序访问numberfield值。 我尝试命名数字字段并使用this.articleFastSearch.getValue()
但是它不起作用。 我认为范围可能有误?
然后,我诉诸于给numberfield一个id,并尝试通过dom来访问它,如上所示。 这给出了一个奇怪的结果,即返回的构造函数实际上包含HTMLTableElement
而不是数字字段。 我无法在属性中找到该值,所以我很困惑...页面上没有其他具有相同ID的元素。 有任何想法吗?
理想情况下,如果可能的话,我宁愿仅通过this
变量访问值,但我会为所有可行的解决方案做好准备!
Ext.get()返回一个Ext.Element 。 您正在寻找的是Ext.getCmp()您还应该考虑使用新的Ext.ComponentQuery ,它也可以作为从Ext.container.AbstractContainer继承的所有类中的上/下快捷方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.