Multiplos ComboBox

7 respostas
lcsoftware

Existe alguma maneira de eu ao selecionar uma linha no ComboBox1, preencher com determinados valores no ComboBox2, isto totalmente em JSP, eu peguei um codigo em Java Script mas ta meio dificil trabalhar com ele, valeu ai e um abraço.

7 Respostas

danieldestro

Só com JavaScript, amigo.
Com JSP, só se você der refresh na tela.

lcsoftware

Blza daniel vc tem alguma modelo ou link q faça isso, pois to procurando no google e to achando muita coisa que ainda nao resolveu meu problema.

danieldestro

Que faça isso o quê? Com JavaScript?

<script language="javascript">
function changeMarca( lst ) {
  //remove os itens da lista de modelos
  elem.form.modelo.length = 0;
  //pega o código da marca selecionada
  var cod = elem[ elem.selectedIndex ].value;
  if( cod == 1 ) {
    elem.form.modelo[0] = new Option("Fiesta", "1");
    elem.form.modelo[1] = new Option("Eco Sport", "2");
  }
  else if( cod == 2 ) {
    elem.form.modelo[0] = new Option("Palio", "3");
  }
  else if( cod == 3 ) {
    elem.form.modelo[0] = new Option("Gol", "7");
    elem.form.modelo[1] = new Option("Golf", "8");
    elem.form.modelo[2] = new Option("Polo", "9");
  }
  else if( cod == 4 ) {
    elem.form.modelo[0] = new Option("Celta", "10");
    elem.form.modelo[1] = new Option("Vectra", "11");
    elem.form.modelo[2] = new Option("Corsa", "12");
  }
}
</script>

<select name="marca" onChange="changeMarca(this);">
  <option value="1">Ford</select>
  <option value="2">Fiat</select>
  <option value="3">Volkswagen</select>
  <option value="4">Chevrolet</select>
</select>
<br>
<select name="modelo">
</select>
carioca

Amigão te agradeco muitas duas coisas:

1- Eu realmente necessito dar um new new Option
2- Gostaria de saber como posso adicionar um array que pego do banco em jsp ou mesmo array do java script, as informações dos dois combos eu irei pegar no banco, posso ja pega-las quando carregar e gardar via sessão mas nao sei como posso adiciona-las no array do java script, pode me ajudar? valeu.

F

Gere o Javascript dinamicamente.

Da mesma maneira que você escreve variáveis JSP na tela você pode escrever dentro do <script> independente do que você esteja usando (Struts, WW, JSF ou JSP puro).

_fs

Só para exemplificar. Usando velocity:

&lt;script language="javascript"&gt;

var meuArrayDeOptions = new Array&#40;
#foreach&#40; $o in $objects &#41;
    "$o"
#end
&#41;;
&lt;/script&gt;

isso imprimira algo como

var meuArrayDeOptions = new Array( “valor1”, “valor2”, “valor3” );

danieldestro

“carioca”:
Amigão te agradeco muitas duas coisas:

1- Eu realmente necessito dar um new new Option.

Erro de Copy & Paste. Não precisa não. E eu já corrigí o código.

Criado 5 de outubro de 2004
Ultima resposta 6 de out. de 2004
Respostas 7
Participantes 5