Select Option

Galera estou tentando fazer um comboBox com uma lista de estados e gravar o estado selecionado no banco de dados.
eu consegui fazer isso, o problema é que quando eu chamo o cadastro do cliente novamente, ele não me traz o estado gravado, mesmo que esteje gravado no banco, ele me traz a 1º linha do comboBox…

eu sei que esta faltando algo pra ele me trazer o estado só naum sei oq esta faltando

aki esta meu código:

<select type=text name=“uF” value=’<c:out value=’${action.helper.clienteDTO.uF}’/>’>
Escolha seu Estado…
Acre
Alagoas
Amapa
Amazonas
Bahia
Ceara
Distrito Federal
Espirito Santo
Goias
Maranhao
Mato Grosso
Mato Grosso do Sul
Minas Gerais
Para
Paraiba
Parana
Pernambuco
Piau
Rio de Janeiro
Rio Grande do Norte
Rio Grande do Sul
Rondonia
Roraima
Santa Catarina
Sao Paulo
Sergipe
Tocantins

meu ajudem ai…

Pelo que entendi, você tem o estado e quer deixar a combo posicionada conforme o valor?

Você pode fazer via javascript e colocar no load da página

function changeUF(obj, value)
{
    var x=document.getElementById(obj);
    x.options[x.selectedIndex].text=value;
}

ou então vc poderá usar um <c:if> para ajuda-lo

gente eu sou bem leigo em javascript e HTML…

onde eu colocaria essa função ou o c:if ?

Você pode fazer assim com javascript

Ou

popular a combo usando uma laço de repetição e comparando o valor do seu objeto com da combo e colocar o atributo da tag option selected=true

Coloquei um id na sua combo para poder fazer uma busca pelo id.

<html>
<head>
<script type="text/javascript">
function changeUF(obj, value)   
{   
    var x=document.getElementById(obj);   
    x.options[x.selectedIndex].text=value;   
}  
</script>
</head>
<body onload="javascript:changeUF('uf', <c:out value='${action.helper.clienteDTO.uF}'/>)>

<select type=text name="uF" [b]id="uf"[/b] value='<c:out value='${action.helper.clienteDTO.uF}'/>'> 
<option value="#">Escolha seu Estado...</option> 
<option value="1">Acre</option> 
<option value="2">Alagoas</option> 
<option value="3">Amapa</option> 
<option value="4">Amazonas</option> 
<option value="5">Bahia</option> 
<option value="6">Ceara</option> 
<option value="7">Distrito Federal</option> 
<option value="8">Espirito Santo</option> 
<option value="9">Goias</option> 
<option value="10">Maranhao</option> 
<option value="11">Mato Grosso</option> 
<option value="12">Mato Grosso do Sul</option> 
<option value="13">Minas Gerais</option> 
<option value="14">Para</option> 
<option value="15">Paraiba</option> 
<option value="16">Parana</option> 
<option value="17">Pernambuco</option> 
<option value="18">Piau</option> 
<option value="19">Rio de Janeiro</option> 
<option value="20">Rio Grande do Norte</option> 
<option value="21">Rio Grande do Sul</option> 
<option value="22">Rondonia</option> 
<option value="23">Roraima</option> 
<option value="24">Santa Catarina</option> 
<option value="25">Sao Paulo</option> 
<option value="26">Sergipe</option> 
<option value="27">Tocantins</option> 
</select> 

valeu cara…vou tentar…

abraços

Segue uma correção, da outra forma funciona sem o atributo value da tag option.

function changeUF(obj, value){  
    var x=document.getElementById(obj);

    for(i=0; i < x.length; i++){
        if(x.options[i].value == value){
            x.selectedIndex = i;
            break;
        }
    }
}

Observei que você guarda o indice, você poderia fazer algo assim também que funciona.

function changeUF(obj, value){  
    var x=document.getElementById(obj);
    x.selectedIndex = value;
}