Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Cantorum

Concatenar em uma variável

Recommended Posts

Tenho o seguinte script:

 

if(resultado2 == "1")
	{ selecionado1 = 'false,true'}else{ selecionado1 = ''}
	if(resultado2 == "2")
	{ selecionado2 = 'false,true'}else{ selecionado2 = ''}
	if(resultado2 == "3")
	{ selecionado3 = 'false,true'}else{ selecionado3 = ''}
	if(resultado2 == "4")
	{ selecionado4 = 'false,true'}else{ selecionado4 = ''}
	if(resultado2 == "5")
	{ selecionado5 = 'false,true'}else{ selecionado5 = ''}
	if(resultado2 == "6")
	{ selecionado6 = 'false,true'}else{ selecionado6 = ''}
	if(resultado2 == "7")
	{ selecionado7 = 'false,true'}else{ selecionado7 = ''}
	if(resultado2 == "8")
	{ selecionado8 = 'false,true'}else{ selecionado8 = ''}
	if(resultado2 == "9")
	{ selecionado9 = 'false,true'}else{ selecionado9 = ''}
	if(resultado2 == "10")
	{ selecionado10 = 'false,true'}else{ selecionado10 = ''}

Estou querendo enxugá-lo um pouco e fazer algo mais ou menos assim:

 

for( i=1; i<10; i++ ){
		  if(resultado2 == i)
			  { selecionado+i = 'false,true'}else{ selecionado+i = ''}
	  }

Mas esse segundo script não está dando certo.

 

Alguém tem alguma dica de como fazê-lo??

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente usar a funcao eval(), exemplo eval(selecionado+i)

Fiz assim:

CODE

selecionado = "selecionado";

 

for( i=1; i<73; i++ ){

if(resultado2 == i)

{ eval(selecionado+i) = 'false,true'}else{ eval(selecionado+i) = ''}

}

E não deu certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigos

 

Alguém tem uma solução para o meu problema??? :unsure:

 

Se eu fosse escrever isso em PHP sería algo assim:

 

CODE
$selecionado = "selecionado";

 

for($i=1;$i<=10;$i++)

{

${$selecionado.$i} = $i;

}

 

echo "selecionado5 é: $selecionado5";

 

O problema é que preciso isso em javascript.

Compartilhar este post


Link para o post
Compartilhar em outros sites

realmente o eval serve pra isso. tenta assim...

var selecionado="";
for( i=1; i<10; i++ ){
		  if(resultado2 == i)
			  { selecionado + eval(i)  = 'false,true'}else{ selecionado + eval(i) = ''}
	  }

Compartilhar este post


Link para o post
Compartilhar em outros sites

realmente o eval serve pra isso. tenta assim...

var selecionado="";
for( i=1; i<10; i++ ){
		  if(resultado2 == i)
			  { selecionado + eval(i)  = 'false,true'}else{ selecionado + eval(i) = ''}
	  }

Vadio,

Também não deu certo.

O que será que estou fazendo de errado?? http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

 

Nesse script chega até 10 mas na realidade preciso passar dos 70 e isso deixaria o script muito grande...

 

Por isso estou querendo abreviar essa parte.

		if(resultado2 == "1")
	{ selecionado1 = 'false,true'}else{ selecionado1 = ''}
	if(resultado2 == "2")
	{ selecionado2 = 'false,true'}else{ selecionado2 = ''}
	if(resultado2 == "3")
	{ selecionado3 = 'false,true'}else{ selecionado3 = ''}
	if(resultado2 == "4")
	{ selecionado4 = 'false,true'}else{ selecionado4 = ''}
	if(resultado2 == "5")
	{ selecionado5 = 'false,true'}else{ selecionado5 = ''}
	if(resultado2 == "6")
	{ selecionado6 = 'false,true'}else{ selecionado6 = ''}
	if(resultado2 == "7")
	{ selecionado7 = 'false,true'}else{ selecionado7 = ''}
	if(resultado2 == "8")
	{ selecionado8 = 'false,true'}else{ selecionado8 = ''}
	if(resultado2 == "9")
	{ selecionado9 = 'false,true'}else{ selecionado9 = ''}
	if(resultado2 == "10")
	{ selecionado10 = 'false,true'}else{ selecionado10 = ''}
	
	
 	var res_select = document.getElementById('RESULTADO');
	res_select.options.length = 0;
	res_select.options[0] = new Option('Selecione',0);
	
	if(tipo=="1"){
		res_select.options[res_select.options.length] = new Option('resultado1','1',selecionado1);
		res_select.options[res_select.options.length] = new Option('resultado2','2',selecionado2);
		res_select.options[res_select.options.length] = new Option('resultado3','3',selecionado3);
		res_select.options[res_select.options.length] = new Option('resultado4','4',selecionado4);
		res_select.options[res_select.options.length] = new Option('resultado5','5',selecionado5);
		res_select.options[res_select.options.length] = new Option('resultado6','6',selecionado6);
		res_select.options[res_select.options.length] = new Option('resultado7','7',selecionado7);
		res_select.options[res_select.options.length] = new Option('resultado8','8',selecionado8);
	  
	}

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara. faz com vetor

var selecionado = new array(69) // 69 pq ele começa do 0 então 69 = 70 huahuahuahua

for(var i = 0; i<selecionado.length; i++){
	   if(resultado2 == "1")  selecionado[i] = 'false,true';
	   else						  selecionado[i] = '';
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara. faz com vetor

var selecionado = new array(69) // 69 pq ele começa do 0 então 69 = 70 huahuahuahua

for(var i = 0; i<selecionado.length; i++){
	   if(resultado2 == "1")  selecionado[i] = 'false,true';
	   else						  selecionado[i] = '';
}

Vadio,

 

Desculpe-me a insistência, mas eu não entendo muita coisa de javascript. Meu forte é PHP, mas acontece que preciso fazer isso do outro modo... http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

 

Tentei fazer o que você disse mas também não deu certo.

 

Fiz então o seguinte script, baseado no seu, para imprimir na tela como teste:

CODE
<script language="javascript">

var selecionado = new array(69) // Parece que o erro está aqui

 

for(var i = 0; i<selecionado.length; i++){

document.write(selecionado);

}

</script>

Mas não imprime nada na tela. http://forum.imasters.com.br/public/style_emoticons/default/no.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro: de onde vem as variaveis selecionado e resultado ???

 

Se for de algum input.. entao faça assim:

 

var resultado2 = document.getElementById("resultado2").value;


for(i=1; i < 10; i++)
{
if(resultado2 == i)
{
document.getElementById("selecionado" + i).value = "true,false";
}
else
{
document.getElementById("selecionado" + i).value = "";
}
}

Abraços....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro: de onde vem as variaveis selecionado e resultado ???

 

Se for de algum input.. entao faça assim:

Darkdemo,

 

Muito obrigado pela ajuda mas também não deu certo...

 

Coloco aqui a função inteira para que possam ver o que pode estar errado.

 

função em PHP para montar o combo:

 

function select_resultado($x,$y,$z){
$sql = mysql_query("SELECT * FROM Resultados order by RESULTADO") or die (mysql_error());
	
	$content ="<select id='RESULTADO' name='RESULTADO' $y tabindex='$z'>\n";
	$content .="<option value='0'>Selecione</option>\n";
		if(mysql_num_rows($sql) > 0 ) {

			while($array = mysql_fetch_array($sql)) {
				$content .="<option value='".$array['RESULTADO']."'";
					if ($x == $array['RESULTADO']) {
						$content .=" selected";
					}
				$content .=">".$array['DESCRICAO']."</option>\n";
				
			}
		}
		$content.="</select>\n";
		return $content;
}

aqui vai o javascript referente a esse combo que deverá mudar as opções de acordo com o tipo escolhido:

 

function verifica_tipo(x){
	var tipo	  = x.options[x.selectedIndex].value;
	var desc_tipo = x.options[x.selectedIndex].text;

	var res = document.getElementById('RESULTADO');
	var resultado2   = res.options[res.selectedIndex].value;
	var desc_result = res.options[res.selectedIndex].text;
	

	if(resultado2 == "1")
	{ selecionado1 = 'false,true'}else{ selecionado1 = ''}
	if(resultado2 == "2")
	{ selecionado2 = 'false,true'}else{ selecionado2 = ''}
	if(resultado2 == "3")
	{ selecionado3 = 'false,true'}else{ selecionado3 = ''}
	if(resultado2 == "4")
	{ selecionado4 = 'false,true'}else{ selecionado4 = ''}
	if(resultado2 == "5")
	{ selecionado5 = 'false,true'}else{ selecionado5 = ''}
	if(resultado2 == "6")
	{ selecionado6 = 'false,true'}else{ selecionado6 = ''}
	if(resultado2 == "7")
	{ selecionado7 = 'false,true'}else{ selecionado7 = ''}
	if(resultado2 == "8")
	{ selecionado8 = 'false,true'}else{ selecionado8 = ''}
	if(resultado2 == "9")
	{ selecionado9 = 'false,true'}else{ selecionado9 = ''}
	if(resultado2 == "10")
	{ selecionado10 = 'false,true'}else{ selecionado10 = ''}

	
	var res_select = document.getElementById('RESULTADO');
	//PORQUE NO IE NÃO FUNCIONA DO OUTRO MODO
	res_select.options.length = 0;
	if(resultado2 != "")
	{
	  res_select.options[res_select.options.length] = new Option(desc_result,resultado2);
	}else{
	  res_select.options[0] = new Option('Selecione',0);
	}
	
	if(tipo=="5" || tipo=="6"){
		res_select.options[res_select.options.length] = new Option('result1','1',selecionado1);
		res_select.options[res_select.options.length] = new Option('result2','2',selecionado2);
		res_select.options[res_select.options.length] = new Option('result3','3',selecionado3);
		res_select.options[res_select.options.length] = new Option('result4','4',selecionado4);
		res_select.options[res_select.options.length] = new Option('result7','7',selecionado7);
		res_select.options[res_select.options.length] = new Option('result8','8',selecionado8);
		res_select.options[res_select.options.length] = new Option('result9','9',selecionado9);
		res_select.options[res_select.options.length] = new Option('result10','10',selecionado10);
	  
	}else{
	  
	   res_select.options[res_select.options.length] = new Option('result1','1',selecionado1);
		res_select.options[res_select.options.length] = new Option('result2','2',selecionado2);
		res_select.options[res_select.options.length] = new Option('result3','3',selecionado3);
		res_select.options[res_select.options.length] = new Option('result4','4',selecionado4);
		res_select.options[res_select.options.length] = new Option('result5','5',selecionado5);
		res_select.options[res_select.options.length] = new Option('result6','6',selecionado6);
		res_select.options[res_select.options.length] = new Option('result7','7',selecionado7);
		res_select.options[res_select.options.length] = new Option('result8','8',selecionado8);
		res_select.options[res_select.options.length] = new Option('result9','9',selecionado9);
		res_select.options[res_select.options.length] = new Option('result10','10',selecionado10);
	  
	}  

  }

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.