получение значений mx:CheckBox изнутри mx:Repeater

У меня есть массив объектов, которые я использую в качестве источника данных для своего повторителя.

<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>

Я хотел бы иметь возможность указать, какие флажки в списке были отмечены, но я не уверен, как это сделать. Я знаю, что могу добавить функцию при нажатии, но я не знаю, как определить, какой флажок вызвал функцию.


person KevMo    schedule 28.04.2009    source источник


Ответы (2)



Я понимаю, что это очень старый пост, но я столкнулся с той же проблемой, и 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");
}

Таким образом, вы можете работать с событием как с флажком внутри вашего кода ActionScript и находить значения, например, было ли оно выбрано или нет и т. д.

person Mike    schedule 03.02.2011