Jump to content
Fórum Script Brasil
  • 0

formulário com select


LucasMPires

Question

Bom dia, estou iniciando na programacão, e tenho o seguinte exercício:

5. Crie um formulário e insira os seguintes campos abaixo:

a) um componente 'select', com os estados (rs,sc,pr).

B) outro componente 'select' com as cidades desses estados.

Crie então uma função que ao selecionar um estado, seja populado o segundo componente,

com algumas cidades desse estado.

Ex. Select1 (valor escolhido= RS) - Select1 (valores apresentando= Porto Alegre, CAnoas, Gravatai).

O problema, é que não sei como vou fazer a funcão para popular o segundo select.

<html>

<body>

<br>

<br>

<br>

<br>

<br>

<br>

<br>

<form name='e'>

ESCOLHA UM ESTADO:<br>

<select onchange='validacidade()'>

<option>RS <value="RS"></option>

<option>SC <value="SC"></option>

<option>PR <value="PR"></option>

</select>

<br>

<br>

<br>

ESCOLHA A CIDADE:<br>

<select>

<option></option>

<option></option>

<option></option>

</select>

</form>

<script>

function validacidade(){

var estado = document.forms["e"].estado.value;

if(estado = option.value"RS"){

<select name="cidade">

<option>Porto Alegre</option>

<option>canoas</option>

<option>Alvorada</option>

</select>

}

}

</script>

</html>

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Boa tarde.

O melhor modo de fazer isso é com AJAX, mas acredito que este modelo te ajude a entender.

Deixei tudo com comentários pra ficar fácil de enteder, mas, lembrando, este é um exemplo, procure, pesquise soluções melhores.

<html>

<head>

<title></title>

<script>

function cidade(estado)

{

// Criando o array das cidades

var aArrayCidade = new Array();

// Adicionando as cidades

aArrayCidade['RS'] = new Array('Alecrim','Cacequi','Pinhal Grande');

aArrayCidade['SC'] = new Array('Tubarão', 'Itajaí');

// pega a quantidade de itens do array de cidades do estado

var iTamanho = aArrayCidade[ estado ].length;

// limpando os campos das cidades

document.getElementById('cidade').innerHTML = '';

// Criando e adicionando o primeiro valor

oOptions = document.createElement('option');

oOptions.value = '';

oOptions.innerHTML = ':: Selecione ::';

document.getElementById('cidade').appendChild( oOptions );

// percorrendo o array

for( var i = 0; i < iTamanho; i++ )

{

// criando os objetos options

oOptions = document.createElement('option');

oOptions.value = aArrayCidade[ estado ][ i ];

oOptions.innerHTML = aArrayCidade[ estado ][ i ];

// adicionando os elementos

document.getElementById('cidade').appendChild( oOptions );

}

}

</script>

</head>

<body>

<table border="1" cellpadding="1" cellspacing="1" width="40%">

<tr>

<td>ESCOLHA UM ESTADO: </td>

<td>

<select id="estados" onchange="cidade(this.value);">

<option value="">:: Selecione ::</option>

<option value="RS">RS</option>

<option value="SC">SC</option>

</select>

</td>

</tr>

<tr>

<td>ESCOLHA A CIDADE: </td>

<td>

<select id="cidade">

<option value="">:: Selecione ::</option>

</select>

</td>

</tr>

</table>

</body>

</html>

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...