..:: MX Studio Fóruns ::..: Replace nos itens de uma combobox... - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Replace nos itens de uma combobox... Flash + XML = %26

#1 User is offline   keynnermxstudio 

  • Group: Membros
  • Posts: 131
  • Joined: 10-February 07

Posted 28 November 2008 - 11:55 AM

Fala galera! Blz?
Passei por um problema semelhante a esse a um tempo atrás, consegui resolver... Mais esse ainda não entendi como! O codigo abaixo popula uma combo através de uma XML... Até ai tranquilo, porem os itens da combo que contém "&", aparecem "%26"... Achei uma função que substitui isso, mais não estou sabendo usa-la, deem uma olhada!

CÓDIGO
//Popula combo
var xmllojas:XML = new XML();
xmllojas.ignoreWhite = true;
xmllojas.load("....xml.php");
xmllojas.onLoad = function() {
    xmlobj.loaded = true;
    xmlobj.onload(true);
    var alistalojas:Array = new Array();
    alistalojas.push({label:"escolha uma loja"});
    for (var i = 0; i<xmllojas.childNodes[0].childNodes.length; i++) {
        alistalojas.push({label:xmllojas.firstChild.childNodes[i].childNodes[1].firstChild.nodeValue});
    }
    comboloja.dataProvider = alistalojas;
};


CÓDIGO
//Função
String.prototype.replace = function(text, substituirtexto) {
return this.split(text).join(substituirtexto);

//E se chama assim:
//"variavel".replace("&", "%26")
};


Vlw galera!
0

#2 User is offline   Rodrigo Pixel 

  • Group: Moderadores
  • Posts: 1279
  • Joined: 07-May 07

Posted 28 November 2008 - 03:00 PM

blz?

Uma idéia que talvez ajude, partindo do mesmo exemplo:

CÓDIGO
//Função
String.prototype.replace = function(_separadorAtual:String, _novoSeparador:String):Array{

    var lista:Array = this.split( _separadorAtual ); //faz um separador no texto e cadastra em uma lista/array
    lista.join( _novoSeparador ); //adiciona o novo separador na lista
    trace( lista.join( _novoSeparador) ) //retorna o valor com novo separador
    return lista;
}

var seuTexto:String = "seu texto aqui com espaço";

trace(seuTexto); //retonar seu texto normal
seuTexto.replace(" ", "||||") //troca os "espaço" pelo ||| e retorna modificado


Abraços.
0

#3 User is offline   keynnermxstudio 

  • Group: Membros
  • Posts: 131
  • Joined: 10-February 07

Posted 29 November 2008 - 08:22 PM

Fala rapaz! Blz?

Então, vi que sua função funciona direitinho... Mais minha maior dúvida é como aplicar ela na hora que a combo está sendo alimentada, pra que os caracteres sejam substituidos e os itens da combo sejam mostrados corretamente... Me entende? Fiz alguns testes aqui mais não consegui... Como eu usaria sua função no codigo que coloquei??

Vlw cara, pela atenção!
wink.gif!
0

#4 User is offline   keynnermxstudio 

  • Group: Membros
  • Posts: 131
  • Joined: 10-February 07

Posted 01 December 2008 - 10:07 AM

Fala galera, blz?

Alguem podia me ajudar com isso?

Vlww... wink.gif!
0

#5 User is offline   ubi_rj 

  • Group: Moderador Global
  • Posts: 2920
  • Joined: 29-June 07

Posted 01 December 2008 - 09:10 PM

E ae cara tudo bom ?

Faça assim:

Crie um primeiro array que recebe os dados do XML.
Depois, por Action, popule um segundo array a partir do primeiro. Só que nesse segundo array, os elementos ja seriam os elementos modificados.
O terceiro passo seria popular o comboBox com os elementos do segundo array.

Se nao conseguir me fala que te ajudo !

Abração !
0

#6 User is offline   keynnermxstudio 

  • Group: Membros
  • Posts: 131
  • Joined: 10-February 07

Posted 03 December 2008 - 04:50 PM

Fala galera...
Fala Rafael, blz cara? Então, consegui fazer a parada, porém só agora pude vir e postar a solução agora... Vlwzão novamente pela a atenção galera!
Então, o problema é que eu estava tentando atribuir o replace direto a uma array e isso a quebrava... O que fiz, foi criar um nova variável que lesse normalmente as lojas e passasse a mesma como parâmetro na função! Ai sim pude fazer a substituição do símbolo...
Dessa forma deu certo, se alguém precisar... wink.gif! Está aqui:
CÓDIGO
String.prototype.replace = function(text, substituirtexto) {
return this.split(text).join(substituirtexto);
};

var xmlloja:XML = new XML();
xmlloja.ignoreWhite = true;
xmlloja.load("caminho.xml.php");
xmlloja.onLoad = function() {
    dicasbusca.comboloja.removeAll();
    dicasbusca.comboloja._alpha = 100;
    dicasbusca.comboloja.enabled = true;
    dicasbusca.btnbuscar.enabled = true;

    xmlobj.loaded = true;
    xmlobj.onload(true);
    var alistaloja:Array = new Array();
    alistaloja.push({label:"escolha uma loja"});
    for (var i = 0; i<xmlloja.childNodes[0].childNodes.length; i++) {
        nome_loja = xmlloja.firstChild.childNodes[i].childNodes[1].firstChild.nodeValue;
        replace(nome_loja)
        alistaloja.push({label:nome_loja.replace("%26", "&"), data:xmlloja.firstChild.childNodes[i].childNodes[0].firstChild.nodeValue});
        codloja = xmlloja.firstChild.childNodes[i].childNodes[2].firstChild.nodeValue;
    }
    dicasbusca.comboloja.dataProvider = alistaloja;
};

Vlwzão galera!
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




2 User(s) are reading this topic
0 membro(s), 2 visitante(s) e 0 membros anônimo(s)