如何从ExtJs中的面板获取html内容

时间:2012-10-02 13:47:56

标签: extjs extjs4.1

我是ExtJs的新手。 我一直面临着获取面板html内容的面板问题。

xtype : 'panel',
id : 'first_block',
html : '<p>Hi this is belongs to first block.</p>',
listeners : {
    render : function(c) {
        c.body.on('click', function() {
            alert('' + this.id);
            alert(Ext.getCmp('first_block').items.getAt(0).getValue());
        });
}

我没有获得HTML内容,但我得到的身份就像“first_block-body”。

提前致谢。

2 个答案:

答案 0 :(得分:5)

html属性在您的组件内容中定义了您想要的HTML,在本例中为Ext.Panel

Ext.Panel创建几层div以提供页眉,页脚,工具栏等内容。

如果你想要的只是一个包含某些内容的div,那么你想要使用Ext.Component。组件没有body,因此您的代码中会发生一些变化。

xtype : 'component',
id : 'first_block',
html : '<p>Hi this is belongs to first block.</p>',
listeners : {
    render : function(c) {
        c.on('click', function() {
            alert('' + this.id);
            alert(this.el.dom.innerHTML);
        }, this);
}

请注意,我在on调用中添加了第三个参数,该参数指定了函数调用的this范围。我还编辑了你的警报,打印出元素的innerHTML,假设你正在尝试做什么。

<强>更新

如果您要在布局中使用此组件,则可能需要设置heightwidth,这意味着它必须属于box类型命令为Ext.BoxComponent

答案 1 :(得分:0)

Ext.getElementById( 'yourId')。innerHTML的