Ir para conteúdo

POWERED BY:

Arquivado

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

oadventista

Select que completa outro select

Recommended Posts

Olá a todos,

 

Estou com um pequeno problema, tenho um select que traz uma lista de todos os paises do mundo, porém quero que quando os paises Brazil, Estados Unidos e Espanha forem selecionados um outro select seja configurado com os estados destes paises.

 

NUm aparece erro algum, porém não funciona, vejam o codigo do meu java script:

<script type="text/javascript">	// Estados da Espanha// Procurar //// Funçõesfunction mudaEstado(){// Brasilvar estadosBrasil = new Array(	"Acre",	"Alagoas",	"Amapá",	"Amazonas",	"Bahia",	"Ceará",	"Espírito Santo",	"Gioás",	"Maranhão",	"Mato Grosso",	"Mato Grosso do Sul",	"Minas Gerais",	"Pará",	"Paraíba",	"Paraná",	"Pernambuco",	"Piauí",	"Rio de Janeiro",	"Rio Grande do Norte",	"Rio Grande do Sul",	"Rondônia",	"Roraima",	"Santa Catarina",	"São Paulo",	"Sergipe",	"Tocantins")// Estados Unidosvar estadosEUA = new Array(	"Arizona",	"British Columbia",	"California",	"Colorado",	"Connecticut",	"Delaware",	"District of Columbia",	"Florida",	"Georgia",	"Illinois",	"Indiana",	"Kansas",	"Kentucky",	"Louisiana",	"Maryland",	"Massachusetts",	"Maine",	"Michigan",	"Minnesota",	"Missouri",	"Mississippi",	"New Brunswick",	"New Hampshire",	"New Jersey",	"New Mexico",	"New York",	"North Carolina",	"Nova Scotia",	"Ohio",	"Oklahoma",	"Ontario",	"Oregon",	"Pennsylvania",	"Prince Edward Island",	"Quebec",	"Rhode Island",	"South Carolina",	"Tennessee",	"Texas",	"UtahVirginia",	"Vermont",	"Washington",	"West Virginia",	"Wisconsin",	"Wyoming")			// Recupera o valor do país selectionado	var pais = document.cadastra_usuario.paises[document.cadastra_usuario.paises.selectedIndex].text		// Selecionando o estado do País selecionado	if (pais == "Brazil" || pais == "Brasil"){		estados = eval(estadosBrasil)		// Definindo o tamanho do select		document.cadastra_usuario.estados.lenght = 26		// Preenchendo o select		for(i = 0; i < estadosBrasil.lenght; i++){			document.cadastra_usuario.estados.options[i].value = estados[i]		}						} else if (pais == "Estados Unidos (EE.UU)" || pais == "United States" || pais == "Estados Unidos"){		estados = eval(estadosEUA)		// Definindo o tamanho do select		document.cadastra_usuario.estados.lenght = 48		// Preenchendo o select		for(i = 0; i < estadosEUA.lenght; i++){			document.cadastra_usuario.estados.options[i].value = estados[i]		}						} else if (pais == "Espanha" || pais == "Spain" || pais == "España"){		estados = eval(estadosBrasil)		// Definindo o tamanho do select		document.cadastra_usuario.estados.lenght = 26		window.status=pais		// Preenchendo o select		for(i = 0; i < estadosBrasil.lenght; i++){			document.cadastra_usuario.estados.options[i].value = estados[i]		}						}			}</script>

Vejam, ja depurei de algumas formas, por exemplo, para testar e ver se estao passando pelo if, esta tudo normal, só que na hora de completar não funciona.

 

Obs.: Faço a comparação com string, pois estou utilizando intenacionalização no site.

 

Valeu,

 

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kra,Na boa, ja vi aquele tutorial, e num achei nada, o meu ja peguei de um tutorial, num sei o que acontece com o meu código.Obs. é necessário colocar o ; no final de cada linha de codigo?Valeu,Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz umas modificações por que comecei a adaptar pra mim; mas tae funcionando... ;)

 

<script type="text/javascript">function mudaEstado() {// Brasilvar estadosBrasil = new Array(	"Acre",	"Alagoas",	"Amapá",	"Amazonas",	"Bahia",	"Ceará",	"Espírito Santo",	"Gioás",	"Maranhão",	"Mato Grosso",	"Mato Grosso do Sul",	"Minas Gerais",	"Pará",	"Paraíba",	"Paraná",	"Pernambuco",	"Piauí",	"Rio de Janeiro",	"Rio Grande do Norte",	"Rio Grande do Sul",	"Rondônia",	"Roraima",	"Santa Catarina",	"São Paulo",	"Sergipe",	"Tocantins");// Estados Unidosvar estadosEUA = new Array(	"Arizona",	"British Columbia",	"California",	"Colorado",	"Connecticut",	"Delaware",	"District of Columbia",	"Florida",	"Georgia",	"Illinois",	"Indiana",	"Kansas",	"Kentucky",	"Louisiana",	"Maryland",	"Massachusetts",	"Maine",	"Michigan",	"Minnesota",	"Missouri",	"Mississippi",	"New Brunswick",	"New Hampshire",	"New Jersey",	"New Mexico",	"New York",	"North Carolina",	"Nova Scotia",	"Ohio",	"Oklahoma",	"Ontario",	"Oregon",	"Pennsylvania",	"Prince Edward Island",	"Quebec",	"Rhode Island",	"South Carolina",	"Tennessee",	"Texas",	"UtahVirginia",	"Vermont",	"Washington",	"West Virginia",	"Wisconsin",	"Wyoming");			// Recupera o valor do país selectionado	var pais = document.cadastra_usuario.paises[document.cadastra_usuario.paises.selectedIndex].text;		// Selecionando o estado do País selecionado	if (pais == "Brasil") {		estados = eval(estadosBrasil);		// Preenchendo o select		for(i=0; i < estadosBrasil.length; i++) {			document.cadastra_usuario.estados.options[i] = new Option(estados[i]);		}		document.cadastra_usuario.estados.length = 26;	} else if (pais == "Estados Unidos"){		estados = eval(estadosEUA);		// Preenchendo o select		for(i=0; i < estadosEUA.length; i++) {			document.cadastra_usuario.estados.options[i] = new Option(estados[i]);		}		document.cadastra_usuario.estados.length = 44;	}			}</script>

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.