Ir para conteúdo

POWERED BY:

Arquivado

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

Gianeco

Combo Dinamico

Recommended Posts

Pessoal,

 

Estou quebrando a cabeça para atualizar um combo a partir de um RADIO BUTTON e nao estou conseguindo.

Eu testei o formulario com a CAIXA SUSPENSA (SELECT) e funcionou, mas com o RADIO nao funciona.

Alguem tem alguma "luz" ?

 

Por exemplo: RADIO (TIPO): CARRO ou MOTO

Caso o usuario selecione CARRO irá carregar no combo CAIXA SUSPENSA (SELECT) as marcas de CARRO

Caso o usuario selecione MOTO irá carregar no combo CAIXA SUSPENSA (SELECT) as marcas de MOTO

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

function Mostra()
{
if (document.getElementById("IdDaCombo").value = "Carro")
{
document.getElementById("IdDaComboDoCarro").style.display = "block";
}
else
{
document.getElementById("IdDaComboDaMoto").style.display = "block";
}
}

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Chame a função no evento "OnClick" do RadioButton

 

 

Abraços..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola amigo,

 

Ele não aparece o combo marcas_moto quando clica em MOTO.

 

Olha como ficou o codigo:

==================

 

<script language="javascript">

function Mostra()

{

if (document.getElementById("tipo").value = "Carro")

{

document.getElementById("marcas_carro").style.display = "block";

}

else

{

document.getElementById("marcas_moto").style.display = "block";

}

}

</script>

 

<body onload="Mostra()">

 

<form>

<input type="radio" value="Carro" name="tipo" checked onClick="java script:Mostra();">Carro   

<input type="radio" value="Moto" name="tipo" onClick="java script:Mostra();">Moto

 

<span id="marcas_carro" style="display: none">

<select name="marcas_carro" size="1" class="list_newsletter" onChange="java script:atualizamodelo(this.form);">

<option value="">Escolha</option>

<option>Carro</option>

</select>

</span>

 

<span id="marcas_moto" style="display: none">

<select name="marcas_moto" size="1" class="list_newsletter" onChange="java script:atualizamodelo(this.form);">

<option value="">Escolha</option>

<option>Moto</option>

</select>

</span>

 

</form>

 

==================

Compartilhar este post


Link para o post
Compartilhar em outros sites

<script language="javascript">
function Mostra()
{
var checks = document.getElementsByTagName("input");

for (i=0;i<checks.length;i++)
{
	if(checks[i].getAttribute("type") == "radio")
	{	
		if(checks[i].checked)
		{
			if(checks[i].value == "Carro")
			{
				document.getElementById("marcas_carro").style.display = "block";
				document.getElementById("marcas_moto").style.display = "none";
			}
			if(checks[i].value == "Moto")
			{
				document.getElementById("marcas_moto").style.display = "block";
				document.getElementById("marcas_carro").style.display = "none";
			}
		}
	}
}							
}
</script>

<body onload="Mostra()">

<form>
<input type="radio" value="Carro" name="tipo" id = "tipo" checked onClick="Mostra();">Carro   
<input type="radio" value="Moto" name="tipo" id = "tipo" onClick="Mostra();">Moto

		<span id="marcas_carro" style="display: none">
<select name="marcas_carro" size="1" class="list_newsletter" onChange="atualizamodelo(this.form);">
					  <option>Carro</option>
				</select>
		</span>
		
<span id="marcas_moto" style="display: none">
<select name="marcas_moto" size="1" class="list_newsletter" onChange="atualizamodelo(this.form);">
						<option>Moto</option>
				</select>							
</span>

</form>

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, to com mais uma duvida...

 

Adicionei mais de 1 opção nos combos CARRO e MOTO, sendo que o SELECTED para o combo carro = ESCOLHA.

Quando voce seleciona "CARRO2" no combo carro e vai para o tipo moto e retorna para o tipo carro, o registro selecionado é "CARRO2" e não "ESCOLHA" conforme definido anteriormente. Alguem sabe como resolver este BUG? Para que quando voltar, volte no SELECTED ?

 

Segue o codigo abaixo:

=============================

<script language="javascript">

function Mostra()

{

var checks = document.getElementsByTagName("input");

 

for (i=0;i<checks.length;i++)

{

if(checks.getAttribute("type") == "radio")

{

if(checks.checked)

{

if(checks.value == "Carro")

{

document.getElementById("marcas_carro").style.display = "block";

document.getElementById("marcas_moto").style.display = "none";

}

if(checks.value == "Moto")

{

document.getElementById("marcas_moto").style.display = "block";

document.getElementById("marcas_carro").style.display = "none";

}

}

}

}

}

</script>

 

<body onload="Mostra()">

 

<form name="teste">

<input type="radio" value="Carro" name="tipo" id= "tipo" checked onClick="Mostra();">Carro

<input type="radio" value="Moto" name="tipo" id= "tipo" onClick="Mostra();">Moto

 

<span id="marcas_carro" style="display: none">

<select name="marcas_carro" size="1" class="list_newsletter" onChange="atualizamodelo(this.form);">

<option selected value="escolha">ESCOLHA</option>

<option value="Carro2">Carro2</option>

</select>

</span>

 

<span id="marcas_moto" style="display: none">

<select name="marcas_moto" size="1" class="list_newsletter" onChange="atualizamodelo(this.form);">

<option selected value="escolha">ESCOLHA</option>

<option value="Moto2">Moto2</option>

</select>

</span>

 

</form>

=============================

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso NAO É UM BUG. O que ocorre é que quando você OCULTA um objeto, que é o caso dessa função, quando você mostra o mesmo novamente, ele "volta" do mesmo jeito que foi oculto....

 

É isso que ocorre...

 

Se você nao qr que isso ocorra, então ao inves de ocultar/mostrar, você pode criar os objetos em tempo de execução, com o createElement e o appendChild

 

 

PS: Antes que me pergunte, aki mesmo no fórum de JavaScript eu postei um exemplo de como fazer isso, em um tópico do Adriano Programmer....

 

Abraços...

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.