Selecionar Dinâmicamente Um Option De Um Select Pelo Value
Dica para quem fizer um form usando ajax
Escrito por Manito em
JavaScript e Ajax. Data: 29/09/2008
Licença: Alguns direitos reservados. Dar créditos ao autor e linkar este original
Ver tópico original no fórum.
Galera, segue uma boa dica de como selecionar um item OPTION de um SELECT dinâmicamente pelo seu VALUE:
O select:
CODE
<select id="descricao">
<option value="0" selected="selected">- - - - - - - - - - - - - - - - - - - - - - - - - - -</option>
<option value="13">teste1</option>
<option value="503">teste2</option>
<option value="99">teste3</option>
</select>
campo texto pra buscar:
CODE
<input id="cod" type="text" onchange="busca(this.value);" />
Se você tentar com a função abaixo, não irá funcionar, porque ela seleciona através do ID automático do SELECT que é em ordem crescente e contínua a partir do zero:
CODE
function busca(cod){
document.getElementById("descricao").selectedIndex = cod;
}
A SOLUÇÃO:
CODE
function busca(cod){
var select = document.getElementById("descricao");
for(var i = 0; i < select.options.length;i++){
if(select.options[i].value == cod) {
select.options[i].selected = true;
break;
}
}
Alert('Código não encontrado!');
}
A função acima varre todo o campo SELECT em busca de um OPTION de value igual ao passado na var COD da função, e seleciona se encontrar.
Comentários:
Micox disse:
Ver o restante dos comentários no fórum (e aproveitar pra comentar também !).