Ir para conteúdo

Arquivado

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

Beraldo

[Resolvido] Mudar o valor de um select com JavaScript

Recommended Posts

Olá, pessoal! :D

 

Preciso fazer com que o JavaScript selecione uma opção de um select, passando o "value" do option no parâmetro da função. Tentei o seguinte:

 

JavaScript

<script type="text/javascript">
function selecionar(uf)
{
	document.getElementById("combo").options[uf].selected = "true";
}
</script>

HTML

<body onload="selecionar('AM')">
<form action=''>
  <select name="combo" id="combo">
	<option value="" selected="true"> </option>
	<option value="AC">AC</option>
	<option value="AM">AM</option>
	<option value="AP">AP</option>
  </select>
</form>
</body>

O problema é que não posso colocar a string uf no índice do array options. Se eu fizer desta forma, colocando um número no índice, dá certo:

document.getElementById("combo").options[1].selected = "true";

 

Como posso solucionar o problema?

 

Obrigado

 

Abraços,

Beraldo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cria um for para pegar os options, depois verifique o value. Se for igual ao que você está querendo, seleciona.

var c = document.getElementById("combo"), i=0;
	for (; i<c.options.length; i++)
	{	
		if (c.options[i].value == uf)
		{
			c.options[i].selected = true;
			break;
		}
	}

Compartilhar este post


Link para o post
Compartilhar em outros sites

É mesmo. Como é simples. :)

 

Obrigado, Lex! :D

 

Para quem precisar, a função ficou assim:

<script type="text/javascript">
function selecionar(uf)
{
	var combo = document.getElementById("combo");
	
	for (var i = 0; i < combo.options.length; i++)
	{
		if (combo.options[i].value == uf)
		{
			combo.options[i].selected = "true";
			break;
		}
	}
}
</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.