在ExtJS 3中渲染自定义单选按钮

4
我想自定义单选按钮,需要在单选按钮旁边显示文本框或日期字段,而不是文本。这里有一个类似的问题(在ExtJs中向单选按钮添加自定义项),但答案仅适用于ExtJs 4。请问有没有人可以帮我实现ExtJs 3中类似的功能?
我尝试使用contentEl,但该div会被添加到单选输入标签下方,因此不可见。查看了Ext代码后,我尝试重写私有的getContentTarget函数,似乎可以工作,但感觉并不是正确的方法。

它为什么被负面评价了? - sidgate
你的问题太过宽泛。 - royhowie
@royhowie 这是针对一个特定的用例。在类似问题中,Ext 4 中的解决方案已经足够简单了。不明白为什么它看起来很广泛。 - sidgate
EXT 4的答案同样适用于EXT 3.1.0版本。您所面临的问题是什么? - BhandariS
1
@BhandariS 不起作用。boxLabelEl是在Ext 4中引入的,因此会产生“undefined”错误。 - sidgate
1个回答

1

这是基于ExtJs 4答案的解决方法。你可以使用getEl().down('label.x-form-cb-label')来代替boxLabelEl,如下所示:

listeners: {
    render: function( radio ) {
        var boxLabelEl = radio.getEl().down('label.x-form-cb-label');
        boxLabelEl.update("");
        radio.field = Ext.create('Ext.form.field.Number', {
            renderTo: boxLabelEl,
            width: 40,
            disabled: !radio.getValue()
        });
        boxLabelEl.setStyle('display','inline-block');
    },
    change: function( radio ) {
        radio.field.setDisabled(!radio.getValue());
    }
}

这适用于ExtJs 3。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接