2011-05-09 75 views
0

我有一個VBox數百個複選框需要從「重置」按鈕重置。如何將「p1」轉換爲複選框組件?重置複選框ID

function private resetChk():void { 
    CheckBox("p"+"1" as CheckBox).selected = false; 
} 

回答

1

可能:

private function resetChk():void 
{ 
    CheckBox(this["p"+i]).selected = false; 
} 

是CheckBox的家長和是複選框數。

也許更好的只是把所有的CheckBox的到一個數組,這樣做:

var i:CheckBox; 
for each(i in checkBoxArray) 
{ 
    i.selected = false; 
} 
+0

第一個選項適用於我。 – Jonyang 2011-05-09 06:08:40

0

可以使用得到所有chilred方法,檢查是否有孩子複選框instnace,如果是,強制轉換成複選框並重置該值。

例如,假設myVBox是組件,然後執行以下

for each(child:DisplayObject in myVBox.getAllChildren()) 
{ 
    if(child is checkBox) 
    { 
     var checkBox:CheckBox = (child as Checkbox); 
     checkBox.selected = false; 
    } 
} 

我還沒有運行代碼和測試了,但是我敢肯定的是,上述將強勁工作,可能有一些拼寫錯誤,雖然,但這是解決像您這樣的問題的最佳解決方案。