Combos struts

5 respostas
O

Será que dá pra fazer combos aninhados com struts?
Tipo, ao selecionar um NetMeter, irá aparecer os sistemas disponíveis para esse NetMeter.
A mesma coisa acontece com os Módulos.
Tem como fazer isso com Struts ou só com Ajax mesmo?
Tive dificuldade com Ajax.

5 Respostas

alanbrasil1984

da pra fazer com DWR tbm e com struts integrando ajax.

fora isso desconheço.

O

É que eu tive dificuldade com DWR.
Não conseguia exibir os dados do banco.
Será que vc tem algum exemplo com Struts e Ajax?

Obrigado

marcosharbs

da pra fazer usando javascript também…

O

Vcs tem algum exemplo que não seja com DWR?

nellson.maia

Opa cara, eu na minha aplicação aqui usei o JQuery, estou utilizando Struts2 e funcionou corretamente.

Basta fazer o download do JS http://jquery.com/

O resto é bem simples, vou mostrar rapidamente um caso que usei:

No meu caso eu seleciono uma doença e no outro campo é mostrado os detalhes…no seu iria precisar algumas coisas no retorno

O combobox:

<s:select id="diseaseselect" emptyOption="true" list="diseases" name="appointment.disease.id" listKey="id"  onchange="obterDoenca()"   listValue="name" theme="simple" cssStyle="width:200px;"></s:select>

Agora a função JS obterDoenca():

function obterDoenca(){

	var _disease = $('#diseaseselect option:selected').val();
	$.ajax(
	{
		type: "POST",
                url: "/Eyesys/diseaseajax.action",
		data: "id=" + _disease,
		dataType: "html",
		success: function(html)
		{
			var results = html.split("|");
			$('#diseaseDetails').html(results[0]);
			$('#diseaseRecipe').html(results[1]);			
		},
		error: function(html) {
		}
	});

	
}

No meu caso eu chamo a action

url: “/Eyesys/diseaseajax.action”
que retorna para uma página com os detalhes da doença e a receita para ela separados por |

Nessa parte:

var results = html.split("|");

O

html
é o resultado(ou seja minha própria), o split é do próprio JQuery. Nesse momento tenho um array com o que quero e no meu caso coloco ele nos campos que desejo.

$('#diseaseDetails').html(results[0]);
$('#diseaseRecipe').html(results[1]);

Sendo que diseaseDetails e diseaseRecipe são os id’s dos meus campos…

Espero ter ajudado um pouco…a documentação do JQuery pode ajudar mais do que eu!

=D

Criado 10 de agosto de 2009
Ultima resposta 10 de ago. de 2009
Respostas 5
Participantes 4