Ir para conteúdo
Fórum Script Brasil
  • 0

dropdownlists relacionadas


Guest --marciarf --

Pergunta

Guest --marciarf --

Olá pessoas :rolleyes:

Tem uma coisa que preciso muito fazer mas não sei como. Sei que é possível pois já em vi inúmeros sites .

Estou falando de em um formulário ter dois campos relacionados, ou seja, quando faço uma escolha no primeiro, no segundo apareça apenas determinadas opções como válidas. Por exemplo, em se tratando de estados e cidades. Quando escolho um estado, aparecem apenas as cidades do mesmo como opções a serem escolhidas. Acho que isso é feito em javascript mas como não manjo nada dessa linguagem, gostaria de que, se possível, alguém me passasse um link ou me desse um exemplo bem simples pra eu aproveitar no meu caso

Falow galera :ninja:

Obrigada por enquanto

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Tenho um script bem antigo que faz isso, não sei se hoje tem alguma maneira mais simples.

Você precisará alterá-lo de acordo com suas necessidades:

<script LANGUAGE="JavaScript">
processador = new Array(
new Array(
new Array("Athlon XP", 39482304),
new Array("Athlon", 34802389),
new Array("Duron", 89092834)
),
new Array(
new Array("Pentium 4", 23840238),
new Array("Pentium III", 92390484),
new Array("Celeron", 29048203),
new Array("Itanium", 94098230),
new Array("Xeon", 39234923)
),
new Array(
new Array("MII", 20394802),
new Array("C3 Samuel 2", 34982039),
new Array("C3 Samuel 3", 92348902)
)
);
function fillSelectFromArray(selectCtrl, itemArray, goodPrompt, badPrompt, defaultItem) {
var i, j;
var prompt;
// empty existing items
for (i = selectCtrl.options.length; i >= 0; i--) {
selectCtrl.options[i] = null; 
}
prompt = (itemArray != null) ? goodPrompt : badPrompt;
if (prompt == null) {
j = 0;
}
else {
selectCtrl.options[0] = new Option(prompt);
j = 1;
}
if (itemArray != null) {
// add new items
for (i = 0; i < itemArray.length; i++) {
selectCtrl.options[j] = new Option(itemArray[i][0]);
if (itemArray[i][1] != null) {
selectCtrl.options[j].value = itemArray[i][1]; 
}
j++;
}
// select first item (prompt) for sub list
selectCtrl.options[0].selected = true;
   }
}

</script>

</HEAD>

<BODY>

<FORM NAME="main">
<SELECT NAME="Make" onChange="fillSelectFromArray(this.form.Processador, ((this.selectedIndex == -1) ? null : processador[this.selectedIndex-1]));">
<OPTION VALUE="-1">Select Team
<OPTION VALUE=1>AMD
<OPTION VALUE=2>Intel
<OPTION VALUE=3>VIA
</SELECT>

<BR>
<SELECT NAME="Processador" SIZE="1">
<OPTION>                                  </OPTION>
</SELECT>
</FORM>

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --marciarf --

Thanks MLeandroJr

Mas como não entendo de javascript, para adaptar ao meu caso precisaria entender esses códigos logo no início do script:

<script LANGUAGE="JavaScript">
processador = new Array(
new Array(
new Array("Athlon XP", 39482304),
new Array("Athlon", 34802389),
new Array("Duron", 89092834)
),
new Array(
new Array("Pentium 4", 23840238),
new Array("Pentium III", 92390484),
new Array("Celeron", 29048203),
new Array("Itanium", 94098230),
new Array("Xeon", 39234923)
),
new Array(
new Array("MII", 20394802),
new Array("C3 Samuel 2", 34982039),
new Array("C3 Samuel 3", 92348902)
)
...
você poderia me dar um help pra que eu possa entender e adaptar?

Link para o comentário
Compartilhar em outros sites

  • 0

Basicamente, o que vem primeiro é a primaira opção do outro combo, o que vem em segundo é a segunda opção, o que vem em terceiro é a terceira opção.

Esse script trabalha com matrizes.....

O formato aqui é:

new Array("Nome", Valor)

Então é só colocar o nome que você quer que tenha a opção e depois o value dela na frente.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...