[Struts] html:select e onChange... como fazer?

8 respostas
R

Olá pessoal!

Minha dúvida é o seguinte:
Tenho dois combos, o primeiro mostra os estados brasileiros e ao selecionar um estado gostaria que mostrasse num segundo combo as cidades daquele estado… fiquei sabendo que tem que usar a opção onchange no select do Struts, mas não entendi como fazer isso.

Por enquanto testei o seguinte:
Código:
<html:select property=“ufPD” onchange=“mostrarCidades()”>

E criei o método na Action desse form, mas não aconteceu nada, nem erro deu ao retirar o método da classe.

Alguém pode me ajudar?

8 Respostas

K

acredito que você que tenha que programar a funcionalidade.

R

Poderia me dar um exemplo? Não entendi bem o que vc sugeriu.

Obrigado.

D

Oi Rocker,

eu faço o seguinte:

No onchange eu coloco uma funcao e passo o parametro que o usuario selecionou:

onchange="funcaoTal(this.options[this.selectedIndex].value);

E daí nessa função eu uso javascript e pego o parametro passado:

document.location.href="/nomesistema/consultar.do?codigo="+opcao;

R

drikinha77:
Oi Rocker,

eu faço o seguinte:

No onchange eu coloco uma funcao e passo o parametro que o usuario selecionou:

onchange="funcaoTal(this.options[this.selectedIndex].value);

E daí nessa função eu uso javascript e pego o parametro passado:

document.location.href="/nomesistema/consultar.do?codigo="+opcao;

Ola Drikinha77,
Não entendi direito ainda… :frowning:
Tem que criar um JS para a funcaoTal que recebera como parametro um valor inteiro. Dai nessa função faço o que?

Desculpa, mas to começando a mexer com isso e to meio perdidaço.

D

Rocker, vc verificou que dentro do onchange a FuncaoTal tem um parâmetro? esse parametro eh o valor que o usuário selecionou.

Daí no js vc chama essa funcao(opcao)

e dentro dessa função vc coloca :

document.location.href="/nomesistema/consultar.do?codigo="+opcao;

o que isso tá fazendo to chamando uma acao no action e passando um paramentro, ou seja se vc quer selecionar um estado do brasil para que sejam carregadas as cidades, o estado vai ser o parametro.

/nomedosistema/ = nome do seu webconsole, q vc chama no browser.
consultar.do - nome da página no struts que vai te direcionar a uma acao.
codigo - paramentro que eu to passando.

R

Drikinha,
Na Action tenho que criar uma função com o mesmo nome da função do JS?

R

Blz pessoal, já consegui fazer o que queria aqui, tive que testar várias coisas e muitas foram sem exito até que finalmente achei a solução.

Obrigado aos que tentaram me ajudar.

B

Galera, dando continuidade ao problema apresentado, venho expor minha situação problemática!!
Tenho o seguinte select...

<html:select property="idSoftware" size="1" onchange="captaSelecao(this)">
               <html:option value=""></html:option>
               <html:options collection="softwares" property="idSoftware" labelProperty="nomeSoftware" />
              </html:select>

Estou tentando capturar da Property, ou seja, o valor contido em nomeSoftware, para isso estava lendo tal artigo e notei que entre as explicações apresentadas estava contido a seguinte linha de código...

onchange="funcaoTal(this.options[this.selectedIndex].value);

Pesquisando bastante, adaptei tal exemplo para minha realidade que ficou algo parecido como...

document.forms[0].nomeSoft.value=selObj.options[selObj.selectedIndex].value;

Até ai tudo bem...
Mas efetuando testes, notei que o valor que estava sendo trago no comando apresentado estava sendo o contigo em idSoftware e não o que eu desejo que está em nomeSoftware, alguém pode me ajudar a respeito?

Desde já agradeço...

Criado 2 de maio de 2005
Ultima resposta 8 de jun. de 2007
Respostas 8
Participantes 4