簡體   English   中英

在Flex中,如何取消選擇組中的所有單選按鈕?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM