2015-05-14 70 views
4

我想自定义单选按钮,我需要显示文本框或单选按钮之外的日期字段,而不是文本。在ExtJS 3中渲染自定义单选按钮

还有一个类似的问题Add custom item to radio button in extjs,但答案是ExtJs 4.有人可以帮助我类似的ExtJs 3的实施吗?

我试过使用contentEl,但div被附加到无线电输入标签下面,所以不可见。在看了Ext代码后,我尝试覆盖了私有的getContentTarget函数,它似乎工作,但并不觉得正确的方法

+0

任何理由为什么它否定分级工作? – sidgate

+0

你的问题太广泛了。 – royhowie

+0

@royhowie它是特定于一个用例。在类似问题的Ext 4中的解决方案很简单..不明白为什么它看起来宽阔 – sidgate

回答

1

这是一个基于ExtJs 4答案的解决方法。取而代之的boxLabelEl,您可以使用getEl().down('label.x-form-cb-label')像这样:

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