Repetição na Caixa de Seleção
Boa tarde a todos !
Fiz um pequeno código em Javascript, onde a pessoa em uma comobox o Estado e na outro comobox já aprece as Cidades relacionadas no Estado escolhido. Só que por exemplo: Quando escolho uma Estado Rio de Janeiro ou qualquer outro sendo a primeira vez, ele traz as cidades direitinho... Mas quando vou fazer de novo, escolher outro estado por exemplo São Paulo, ele traz as cidades de São e junto as cidades da primeira seleção que fiz ou seja, as cidades do Rio de Janeiro. Onde posso estar errado? Faltando alguma coisa no código? Segue o código:
Fico no aguardo da ajuda. Obrigado.
<script>
var options = {
"São Paulo" : ["São Paulo", "Itápolis", "Araraquara", "Ribeirão Preto", "Jacareí"],
"Rio de Janeiro" : ["Rio de Janeiro", "Niteroi", "Petropolis", "Belford Roxo", "Nova Iguaçu"],
"Santa Catarina" : ["Joinville", "Florianópolis", "Blumenau", "Criciúma", "Chapecó"]
};
var load= function(){
var estados = document.getElementById("estados");
var chaves = Object.keys(options);
for(var i = 0; i < chaves.length; i++) {
var opt = chaves[i];
var el = document.createElement("option");
el.textContent = opt;
el.value = opt;
estados.appendChild(el);
}
}
var setCidades = function (){
var estados = document.getElementById("estados");
var estado = estados.options[estados.selectedIndex].value;
var cidades = options[estado];
var cidade = document.getElementById("cidade");
for(var i = 0; i < cidades.length; i++) {
var el = document.createElement("option");
el.textContent = cidades[i];
el.value = cidades[i];
cidade.appendChild(el);
}
}
</script>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body onload="load();">
Escolha o Estado
<select id = "estados" onchange="setCidades(); return false;">
</select>
<br>
Escolha a Cidade
<select id = "cidade" >
</select>
</body>
</html>Discussão (6)
Carregando comentários...