<RESOLVIDO>Setar a opção selecionada de um SELECT dinamicamente
5 respostas
R
raffccc
Se eu tenho um select assim:
<select name="type">
<option>
<option> Instrução de Operação
<option>Instrução Normativa
<option>Norma de Operação
<option>Acordo Cooperativo
<option>Diagramas Unifilares
<option>Interligamento
</select>
Eu quero ir num servlet e e fazer o refresh da página que contém esse select… só que quando voltar eu quero q o option q o cara selecionou fique como selected, como fazer isso sem replicação de código?(eu tinha feito com jstl com um monte de c:choose mas fica mto feia essa solução)
tente passar um valor para cada option, tipo um ID.
<select name="meuCombo">
<option value="0"> </option>
<option value="1"> Instrução de Operação</option>
<option value="2">Instrução Normativa</option>
<option value="3">Norma de Operação</option>
<option value="4">Acordo Cooperativo</option>
<option value="5">Diagramas Unifilares</option>
<option value="6">Interligamento</option>
</select>
quando vc chamar a página pelo servlet, jogue esse valor pra sessão/request.
request.setAttribute("meuCombo", valor)
R
raffccc
Valeu pelas respostas…
finotti:
tente passar um valor para cada option, tipo um ID.
<select name="meuCombo">
<option value="0"> </option>
<option value="1"> Instrução de Operação</option>
<option value="2">Instrução Normativa</option>
<option value="3">Norma de Operação</option>
<option value="4">Acordo Cooperativo</option>
<option value="5">Diagramas Unifilares</option>
<option value="6">Interligamento</option>
</select>
quando vc chamar a página pelo servlet, jogue esse valor pra sessão/request.
request.setAttribute("meuCombo", valor)
Cara… se eu fizer isso ele ja seta automatico? Eu não entendi bem…
Se eu fizer um getAttribute(“meuCombo”) ele traz o valor do option selecionado neh (0,1,2,3…)?
Blz… quando eu fizer um setAttribute(“meuCombo”,valor)… esse valor eh o numero da option?
Quando o jsp recarrega ele ter q fazer alguma chamada desse valor q o servlet chamou neh? Eu não to vendo isso no seu código, não entendo onde eu digo que a option selecionada eh “fulana”…
obrigado
R
raffccc
Olhem como fiz...
O servlet recebe a opção que foi escolhida no select... dá forward para a mesma página com essa opção sendo mandada novamente para o jsp... aqui está um resuminho do jsp..
<head><scripttype="text/javascript">functionsetType(type){
alert(type);
vartypeList=document.getElementById("type");
varselectedType=document.getElementById(type);
selectedType.selected=true;
}</script></head><bodyonload="setType(${type})">
...
<selectid="type"name="type"><optionid="blank"value="blank"><optionid="Instrução de Operação"value="Instrução de Operação">InstruçãodeOperação
<optionid="Instrução Normativa"value="Instrução Normativa">InstruçãoNormativa
<optionid="Norma de Operação"value="Norma de Operação">NormadeOperação
<optionid="Acordo Cooperativo"value="Acordo Cooperativo">AcordoCooperativo
<optionid="Diagramas Unifilares"value="Diagramas Unifilares">DiagramasUnifilares
<optionid="Interligamento"value="Interligamento">Interligamento
</select></body>
O problema, é que esse onload é chamado apenas quando a página é carregada pela primeira vez... quando o servlet dá o forward para a página o onload não é mais executado... alguem sabe pq?