繁体   English   中英

如何在ExtJs 4中从按钮的处理程序访问numberfield值?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM