使用ExtJS选中单选按钮

5
我可能有所遗漏,但是如何使用ExtJS(v 3)以编程方式检查单选按钮呢?
以下似乎并不总是有效:
var radio = Ext.get(“myradiobutton”);
radio.set(“checked”,“”);
有时单选按钮被选中,有时没有……
radio.is(“:checked”)有时返回true,有时返回false。
谢谢。
3个回答

13

我正在使用ExtJS 3,它没有那个方法。 - David
Ext.get() 返回的是 Ext.Element 的引用,而不是组件。-1 - Evan Trimboli
另外,我的单选按钮不是ExtJs表单单选按钮,只是普通的单选按钮。 - David
2
这也可以工作:Ext.getCmp('myradiobutton').setValue(true); - Greg Finzer
我尝试了radio.checked和radio.setValue(true)两种方法,只有radio.setValue(true)对我有效,同时它也触发了change事件。顺便说一下,我使用的是xtype=radio。 - Carlos Jaime C. De Leon

6

为什么不直接使用DOM?

Ext.getDom('myradio').checked = true;

是的,这个方法可以作为一种解决方案,但是难道没有 ExtJs 的方式来实现吗? - David
@Evan:我很好奇,为什么建议直接使用DOM而不是直接使用ExtJS?从David的其他评论中可以看出,他没有使用ExtJS RadioButton,但我的问题假设它是一个ExtJS RadioButton。 - Chau
最终(过于简单地说),Ext只是一堆DOM函数的包装器。如果它易于使用并且可以跨浏览器工作,为什么不用呢? - Evan Trimboli

1
对我来说,使用getCmpsetValue函数起作用了。
Ext.getCmp('yourid').setValue(true);

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