[英]In Flex, how do I deselect all radio buttons in a group?
在Flex中,有時當您需要清除表單時遇到單選按鈕組似乎無法清除的問題:盡量嘗試,在所有按鈕上設置selected = false,在組上設置selection = null,同時執行這兩項操作他們兩次,等等,你似乎總是得到一個仍然被選中的討厭的小單選按鈕。 你如何解決這個問題並將單選按鈕組恢復到其初始的無選擇狀態?
您需要將所有單選按鈕分組到RadioButtonGroup ,然后將組選擇設置為null:
<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;" />
您可以嘗試將所有單選按鈕設置為RadioButtonGroup
然后將RadioButtonGroup.selection設置為null
有關如何實現RadioButtonGroup
控件的參考,請參閱http://livedocs.adobe.com/flex/3/langref/mx/controls/RadioButtonGroup.html#includeExamplesSummary 。
我知道解決這個問題的唯一方法是添加一個隱藏的虛擬單選按鈕,您可以選擇該按鈕以取消選擇所有其他按鈕。
這不起作用嗎?
function clearRadioSelection(theGroup) {
theGroup.selection.selected = false;
theGroup.selectedRadio = undefined;
theGroup.dispatchEvent({type:"change"});
}
theGroup是單選按鈕組(不是單獨的單選按鈕),來自: http : //kb2.adobe.com/cps/000/c4e4be2f.html
我相信你正在使用RadiobuttonGroup並將所有radiobutton控件綁定到特定組。
所以,簡單的方法:
private function radioGroupReset():void
{
radioGroup1.selection = null;
}
這應該工作!
顯然,之前的答案應該以最干凈的方式讓你到達目的地,但是如果你的頭靠在牆上,只需將所有的單選按鈕收集到一個組件中,然后在需要清除它時重新繪制整個組件。 。 問題解決了。
無論如何,形式至多是懦弱的。 不需要過分努力。
只需將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/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.