Duvida muito basica de java script

<input type='checkbox' id='idRevista' onclick="limpar('rev1','rev2');">Mostrar</input>

for (var i=0;i<revistas.length;i++) { alert(revistas[i]); }

mais imprimi

r
e
v
1

apenas

devia imprimir
rev1 e rev2

ja tentei de tudo mas nao funciona

Vc precisa concatenar as duas Strings na sua variável revistas.

Coloca o código inteiro da função para entendermos melhor…


o problema e que so pega o primeiro argumento

o problema e que so pega o primeiro argumento

ao clicar no checkbox marquei a caixinha nao imprimi no alert todas as palavras, so pega a primeira palavra

Como está a sua função?

Imagino que seja algo assim:

function limpar(revistas) { for (var i=0;i<revistas.length;i++) { alert(revistas[i]); } }

[quote=mariazinhahappy]limpar('rev1','rev2','rev3','rev4');
o problema e que so pega o primeiro argumento[/quote]

Se a função só tem um argumento (como essa aí em cima), ela só recebe um argumento, os outros são ignorados. O argumento não se transforma automaticamente em um “var-args”

Dessa maneira que está, ele recebe uma string e faz um loop através de seus caracteres, imprimindo um de cada vez.
r
e
v
1

Se o que você quer é passar um array de strings para a função já é outra história. (Olha a dica aí… array… javascript… google… :slight_smile: )

Imagino que seja algo assim:

function limpar(revistas) { for (var i=0;i<revistas.length;i++) { alert(revistas[i]); } }

[quote=mariazinhahappy]limpar('rev1','rev2','rev3','rev4');
o problema e que so pega o primeiro argumento[/quote]

Se a função só tem um argumento (como essa aí em cima), ela só recebe um argumento, os outros são ignorados. O argumento não se transforma automaticamente em um “var-args”

Dessa maneira que está, ele recebe uma string e faz um loop através de seus caracteres, imprimindo um de cada vez.
r
e
v
1

Se o que você quer é passar um array de strings para a função já é outra história. (Olha a dica aí… array… javascript… google… :slight_smile: )
[/quote]

voce chegou exatamente na minha duvida, e isso que eu estou tentando fazer e pesquisndo no google… percebi que nao funciona assim tentei passar

alguem sabe como passar array?

troca sua chamada de :

limpar('rev1','rev2','rev3','rev4');

para:

limpar(['rev1','rev2','rev3','rev4']);

nao tenho o que dizer, estou ate chorando de emocionada, fiquei desde ontem tantando o dia todo e nada. obrigada rogeriopaguilar

Que bom que conseguiu. Qualquer dúvida, é só perguntar.