Pranchana 0 Denunciar post Postado Maio 12, 2012 Olá pessoal, Estou montando um formulário em AS3 para Venda ou Compra de Veículos. Meu caso é o seguinte: Este é meu modelo de XML, está bem básico, mas na realidade ele é bem grandinho. <Veiculos> <Fiat para="Compra"> <exemplo>Bla bla bla</exemplo> <exemplo>Bla bla bla</exemplo> </Fiat> <Volks para="Venda"> <exemplo>Bla bla bla</exemplo> <exemplo>Bla bla bla</exemplo> </Volks> <Ferrari para="Venda"> <exemplo>Bla bla bla</exemplo> <exemplo>Bla bla bla</exemplo> </Ferrari> </Veiculos> Tenho 2 combobox, um instanciado como "tipo", e outro como "marcas". O combobox "tipo" possui dois labels: "Compra" e "Venda". O objetivo que quero é, ao selecionar no 1º combobox o tipo de negócio (Venda ou Compra), o segundo combobox iria listar as marcas de acordo com a escolha do primeiro combobox. A listagem das marcas viria do arquivo XML acima, e utilizaria os nomes das Tags dos Nós (Fiat, Volks, Ferrari), e a discriminação de acordo com o atributo "para" (Venda, Compra). Porém não sei fazer essa condição de um combobox ser preenchido de acordo com a escolha feita anteriormente. Além disso, não sei listar o próprio combobox com os nomes das Tags dos Nós. Qualquer ajuda é bem vinda! Compartilhar este post Link para o post Compartilhar em outros sites
Foxn 3 Denunciar post Postado Maio 31, 2012 Olá pessoal, Estou montando um formulário em AS3 para Venda ou Compra de Veículos. Meu caso é o seguinte: Este é meu modelo de XML, está bem básico, mas na realidade ele é bem grandinho. <Veiculos> <Fiat para="Compra"> <exemplo>Bla bla bla</exemplo> <exemplo>Bla bla bla</exemplo> </Fiat> <Volks para="Venda"> <exemplo>Bla bla bla</exemplo> <exemplo>Bla bla bla</exemplo> </Volks> <Ferrari para="Venda"> <exemplo>Bla bla bla</exemplo> <exemplo>Bla bla bla</exemplo> </Ferrari> </Veiculos> Tenho 2 combobox, um instanciado como "tipo", e outro como "marcas". O combobox "tipo" possui dois labels: "Compra" e "Venda". O objetivo que quero é, ao selecionar no 1º combobox o tipo de negócio (Venda ou Compra), o segundo combobox iria listar as marcas de acordo com a escolha do primeiro combobox. A listagem das marcas viria do arquivo XML acima, e utilizaria os nomes das Tags dos Nós (Fiat, Volks, Ferrari), e a discriminação de acordo com o atributo "para" (Venda, Compra). Porém não sei fazer essa condição de um combobox ser preenchido de acordo com a escolha feita anteriormente. Além disso, não sei listar o próprio combobox com os nomes das Tags dos Nós. Qualquer ajuda é bem vinda! Lembre-se de ter o componente combobox na sua bibilioteca. import fl.controls.ComboBox; import flash.events.Event; // Xml Tipo var tipoXml:XML = <Tipo> <Item valor="">Selecione um tipo</Item> <Item valor="Compra">Compra</Item> <Item valor="Venda">Venda</Item> </Tipo>; // Xml Marca var marcaXml:XML = <Marca> <Fiat para="Compra" nome="Fiat"> <exemplo>Bla bla bla</exemplo> <exemplo>Bla bla bla</exemplo> </Fiat> <Volks para="Venda" nome="Volks"> <exemplo>Bla bla bla</exemplo> <exemplo>Bla bla bla</exemplo> </Volks> <Ferrari para="Venda" nome="Ferrari"> <exemplo>Bla bla bla</exemplo> <exemplo>Bla bla bla</exemplo> </Ferrari> </Marca>; // Atualizar Marca function AtualizarMarca(evento:Event):void { // Facilita o acesso a recursos do combobox selecionado var combo:ComboBox = evento.currentTarget as ComboBox; // Extraindo o valor do combo selecionado var valor:String = combo.selectedItem.data; // Limpando o combo de marcas marcaCbx.removeAll(); // Desabilitando o combo marcaCbx.enabled = false; // Passando por todos os item do Xml de marcas for each(var item:XML in marcaXml.children()) { // Checando se o tipo bate if(item.@para == valor) { // Adiciona uma marca ao combo var dados:Object = new Object(); dados.label = item.@nome; dados.data = item.@nome; marcaCbx.addItem(dados); } } // Se mais de um item for adicionado... if(marcaCbx.length > 0) { // Colocando uma mensagem como primeiro item var dados:Object = new Object(); dados.label = "Selecione uma marca"; dados.data = ""; marcaCbx.addItemAt(dados, 0); // Abilitando o combo marcaCbx.enabled = true; } } // Configurando Tipo var tipoCbx:ComboBox = new ComboBox(); tipoCbx.y = 10; tipoCbx.x = 10; tipoCbx.width = 120; // Passando por todos os tipos no XML for each(var item:XML in tipoXml.Item) { var dados:Object = new Object(); dados.label = item.text(); dados.data = item.@valor; tipoCbx.addItem(dados); } tipoCbx.addEventListener(Event.CHANGE, AtualizarMarca); this.addChild(tipoCbx); // Configurando Marca var marcaCbx:ComboBox = new ComboBox(); marcaCbx.y = 10; marcaCbx.x = 140; marcaCbx.width = 120; marcaCbx.enabled = false; this.addChild(marcaCbx); Compartilhar este post Link para o post Compartilhar em outros sites