我正在尝试取消选中按钮上的所有复选框。我尝试过这样创建一个绑定的布尔变量:
[Bindable]
public var allselected:Boolean;
然后在我的复选框上:
<s:CheckBox selected="{allselected}" label="PT Identified" />
<s:CheckBox selected="{allselected}" label="Chart Reviewed"/>
<s:CheckBox selected="{allselected}" label="H&P"/>
<s:CheckBox selected="{allselected}" label="Permit Signed"/>
在单独的按钮上单击我将布尔变量设置为false,并且在我已选中复选框后没有任何反应。如果我将布尔变量设置为true,则会检查所有复选框。所以,如果我想选择所有,那么它的工作原理。但是,我想取消选中所有选中的复选框。
复选框仅驻留在tilegroup中,不在datagrid或datagroup中。我认为有一种简单的方法可以做到这一点,但我还没弄明白。任何建议都将不胜感激。
答案 0 :(得分:0)
我有一个肮脏的解决方案。给复选框ID,并使用以下功能进行按钮单击:
protected function untick_clickHandler(event:MouseEvent):void{
cb1.selected=false;
cb2.selected=false;
cb3.selected=false;
}
答案 1 :(得分:0)
public function findChild(numChilds:int, parent:Object):void
{
for (var i:int = 0; i < numChilds; i++)
{
var obj:Object = parent.getChildAt(i);
if(obj.hasOwnProperty('selected'))
{
if(obj.selected == true)
{
obj.selected = false;
}
}
if (obj is DisplayObjectContainer)
{
// search for children
var children:int = obj.numChildren;
findChild(children, obj);
}
}
}
用法:
var elems:int = checklistVgroup.numChildren; // Get the number of elements
findChild(elems, checklistVgroup); // Use our function