在Flex中,有时当您需要清除表单时,您会遇到单选按钮组似乎无法清除的问题:尽可能尝试,在所有按钮上设置selected = false,在组上设置selection = null,无论是两次,等等,你似乎总是得到一个仍然被选中的讨厌的小单选按钮。你如何解决这个问题并将单选按钮组恢复到其初始的无选择状态?
答案 0 :(得分:12)
您需要将所有单选按钮分组为RadioButtonGroup,然后将组选择设置为空:
<mx:RadioButtonGroup id="myGroup" />
<mx:RadioButton label="One" groupName="myGroup" />
<mx:RadioButton label="Two" groupName="myGroup" />
<mx:RadioButton label="Three" groupName="myGroup" />
<mx:Button label="Clear" click="myGroup.selection = null;" />
答案 1 :(得分:1)
您可以尝试将所有单选按钮设置为RadioButtonGroup
,然后将RadioButtonGroup.selection设置为null
有关如何实施RadioButtonGroup
控件的参考,请参阅http://livedocs.adobe.com/flex/3/langref/mx/controls/RadioButtonGroup.html#includeExamplesSummary。
答案 2 :(得分:0)
解决这个问题的唯一方法就是添加一个隐藏的虚拟单选按钮,以便取消选择所有其他按钮。
答案 3 :(得分:0)
这不起作用吗?
function clearRadioSelection(theGroup) {
theGroup.selection.selected = false;
theGroup.selectedRadio = undefined;
theGroup.dispatchEvent({type:"change"});
}
theGroup是单选按钮组(不是单独的单选按钮) 来自:http://kb2.adobe.com/cps/000/c4e4be2f.html
答案 4 :(得分:0)
我相信您正在使用RadiobuttonGroup并将所有radiobutton控件绑定到特定组。
所以,简单的方法:
private function radioGroupReset():void
{
radioGroup1.selection = null;
}
这应该有效!
答案 5 :(得分:0)
显然以前的答案应该让你以最干净的方式前往,但如果你的头靠在墙上,只需将所有的单选按钮收集到一个组件中,然后在需要时重新绘制整个组件清除它。问题解决了。
无论如何,表格至多是懦弱的。不需要过分努力。
答案 6 :(得分:0)
只需将radioButtonGroup的selection属性设置为null,它就会转到初始状态。
例如,如果
<mx:RadioButtonGroup id="answers" />
然后在ActionScript中编写以下行
answers.selection = null;
会在没有选中左侧单选按钮的情况下重置组。希望它能帮到你。我从以下链接中获取了这个想法。祝你好运。
http://blog.flexexamples.com/2008/01/06/clearing-a-selected-radiobutton-control-in-flex/