• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Gurzi

Como se faz isto ?

8 mensagens neste tópico

Tenho um <select> com algumas marcas de carros..

Quando uma pessoa escolhe por exemplo Renault quero que aparecam no <select> de baixo os modelos só da marca Renault...

Como posso fazer isto ??

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não sei bem como, mas podes usar ajax para popular o conteúdo dos select inferiores.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ou usas os css... e no javascript poes do genero:

if(nomeSelect == Renault){

selectRenault = 'display:true'

}

ou uma coisa semelhante...

cps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Que grande salganhada joaorosa :P

Experimenta acrescentar um atributo onclick em cada select/option (aquele que se repete) assim:

<option onclick="processar('amarca')">A minha marca</option>

Depois usa qq coisa deste género (JavaScript):

function processar(marca){
var destino = document.getElementById('oiddoselect');
if(marca == "amarca"){
	destino.innerHTML = "<option>modelo1</option>\n<option>modelo2</option>";
}else if(marca == "aoutra"){
	destino.innerHTML = "<option>modelo11</option>\n<option>modelo22</option>";
}else{
	destino.innerHTML = "<option>blah</option>";
}
}

:cheesygrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

era uma cena desse tipo... só que eu tava com uma preguicite aguda.. :cheesygrin:

cps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

era uma cena desse tipo... só que eu tava com uma preguicite aguda.. :D

cps

Tu tinhas CSS misturado com JS e nd se aproveitava. :P
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ois

Experimenta isto :

<html>
<head>
<title>Teste1</title>
<script language="JavaScript">
var AModelos = new Array();
AModelos[0] = new Array("Toyota1","Toyota2","Toyota3");
AModelos[1] = new Array("Honda1","Honda2","Honda3");
AModelos[2] = new Array("Mercedes1","Mercedes2","Mercedes3");

function HandleChange()
{
var AuxNum = SMarcas.selectedIndex;
var AuxNum2 = SModelos.all.length;
if (AuxNum2 > 1)
{
for (var aa = 1;aa < AuxNum2;aa++)
{
	SModelos.remove(1);
}
}

if (AuxNum > 0)
{
AuxNum2 = AModelos[AuxNum-1].length;
for (var aa = 0;aa < AuxNum2;aa++)
{
	var NewOption = document.createElement("OPTION");
	NewOption.text = AModelos[AuxNum-1][aa];
	SModelos.add(NewOption);
}
}
}
</script>
</head>
<body>
<select id="SMarcas" onchange="HandleChange();">
<OPTION selected />Marcas
<OPTION />Toyota
<OPTION />Honda
<OPTION />Mercedes
</select>
<br />
<select id="SModelos">
<OPTION selected />Modelos
</select>
</body>
</html>

Espero ter ajudado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu sei que o código que estava a tentar produzir tem algum efeito, porque já o fiz... o js com os css...

que está um salsada está... tens toda a razão...

cps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora