Jump to content

[Duvida] Array


kokin
 Share

Recommended Posts

Boa noite, estou com um problema em um array, este código simplesmente esta a ser feito para treino, pois o objectivo será implementa lo ligado a uma tabela de uma base de dados, agradecia ajuda. O objectivo é no input através de javascript fazer um pesquisa interactiva para o utilizador. O utilizador vai escrevendo por exemplo "yel" o no input a baixo aparece já completo yellow, facilitando a busca. O problema deve se a que ao imprimir o array com foreach ele junta todas as palavras do array ou seja algo como isto: "'redbluegreenyellow'". Gostava que alguém me desse ideias ou resoluções de como posso contornar este obstáculo. Obrigado.

<?php
$colors = array('red', 'blue', 'green', 'yellow');
?>
<input type="text" class="span3" style="margin: 0 auto;" data-provide="typeahead" data-items="4" data-source="["<?php foreach ($colors as $color) {echo "$color"; }?>"]">
Link to comment
Share on other sites

como deverás escrever uma lista de strings em javascript deverás queres algo deste genero:

"['".implode("','", $colors)."']";

ao analisares o código verás que o resultado será

['red','blue','green','yellow']

Coloquei assim mas não funcionou.

<?php
$colors = array('red', 'blue', 'green', 'yellow');
?>
<input type="text" class="span3" style="margin: 0 auto;" data-provide="typeahead" data-items="4" data-source="<?php echo"['".implode("','", $colors)."']"; ?>">
Link to comment
Share on other sites

eu disse como fazer o output do array como pediste

agora como o teu script de javascript trabalha eu não faço ideia, e não vai ser a dizer que não funciona que vou lá

Funcionar eu já sabia que funcionava desde o primeiro post que publiquei, até expliquei o que me aparecia. Bastava me fazer um print do mesmo se necessitar testar. So não percebia o porque de ele juntar o conteúdo do array numa só busca enquanto que o que pretendia era simplesmente "yel" o no input a baixo aparece já completo yellow, não todo o conteúdo do array. Actualmente com foreach ele junta todas as palavras do array ou seja algo como isto: "'redbluegreenyellow'". O que vem a confirmar que ele esta a confirmar o conteúdo do array.

Este é o input por definição e o que pretendo é retirar o conteúdo do data-source e carrega-lo por array.

<input type="text" class="span3" style="margin: 0 auto;" data-provide="typeahead" data-items="4" data-source="["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Dakota","North Carolina","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"]">
Link to comment
Share on other sites

O problema deve se a que ao imprimir o array com foreach ele junta todas as palavras do array ou seja algo como isto: "'redbluegreenyellow'". Gostava que alguém me desse ideias ou resoluções de como posso contornar este obstáculo. Obrigado.

"['".implode("','", $colors)."']";

se não dá é porque ou não sabes como o javascript funciona (eu não sei, como disse), ou não te sabes explicar !!!

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.