Tem que usar eventos, para ir gravando no array os checkboxers selecionados.

Use o poder da Assincronicidade do Flex.

2010/2/26 Bruno Carneiro <guimaraescarne...@gmail.com>

> Tenho um AC com itens cujas propriedades são idopcional e opcional.
>
> Dou para o usuário a opção de escolher zero ou mais itens.
> <mx:Tile direction="vertical" width="100%">
>        <mx:Repeater id="rpt_opcionais" dataProvider="{this.opcionais_dp}">
>                <mx:CheckBox id="chk_opcional"
> label="{rpt_opcionais.currentItem.opcional}" />
>        </mx:Repeater>
> </mx:Tile>
>
>
> Depois, na hora de gravar no banco, preciso de gerar um array com os
> ids dos opcionais escolhidos.
>
> var opcionais:Array;
> for (var i:int = 0; i<chk_opcional.length ; i++){
>        if (chk_opcional[i].selected){
>                for (var j:int = 0; j<this.opcionais_dp.length ; i++){
>                        if (opcionais_dp[j].opcional ==
> chk_opcional[i].label){
>                                opcionais.push(opcionais_dp[j].idopcional;
>                        }
>                }
>        }
> }
>
> Achei muito ruim porque como eu não tenho o id gravado no checkbox eu
> preciso percorrer o AC para achar o item correspondente ao checkbox no
> AC e então pegar seu id. Assim fica um loop ( percorrer os checkbox )
> dentro de outro loop ( percorrer os arrays )
>
> Existe uma forma melhor de fazer isso, algo como gravar o id junto com
> o checkbox?
>
> --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
> Para sair da lista, envie um email em branco para
> flexdev-unsubscr...@googlegroups.com
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>



-- 
Paulo A. Teixeira
IT Consulting Expert - Infinitum Technologies Solution
Adobe Certified Expert - Rich Internet Application Specialist
Adobe Certified Expert - Flex 3 with AIR
Adobe Certified Expert - ColdFusion 8
--
Blog: www.pauloteixeira.blog.br
Mobile: (+55 21) 9700-9665

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a