我有一个对象数组,我用它作为转发器的数据源。
<mx:Repeater id="categoryRepeater" dataProvider="{this.allCategories}">
<mx:HBox>
<mx:Spacer width="20"/>
<mx:CheckBox id="categoryCheckBox" label="{categoryRepeater.currentItem.question}"/>
</mx:HBox>
</mx:Repeater>
我希望能够分辨出列表中的哪个复选框已被检查,但我不知道该怎么做。我知道我可以在单击时添加一个函数,但我不知道如何判断哪个复选框称为函数。
答案 0 :(得分:1)
使用currentIndex
属性。
答案 1 :(得分:1)
我意识到这是一个非常古老的帖子,但我遇到了同样的问题,而currentIndex对我来说并不是一个充分的答案。我发现更好的工作是在点击上创建一个功能:
<mx:Repeater id="rp" dataProvider="{dp}">
<s:CheckBox height="100%" width="100%" label="{String(rp.currentItem)}"
click="showAlert(event);"/>
</mx:Repeater>
并且showAlert函数看起来像这样:
private function showAlert(evt:MouseEvent):void {
var curBox:CheckBox = evt.currentTarget as CheckBox;
var str:String = curBox.content.toString();
if(curBox.selected)
Alert.show(str + " clicked");
}
通过这种方式,您可以将事件作为ActionBox代码中的CheckBox处理,并查找是否已选择等值。