Selet dinâmico com AJAX
24/10/2011 22:31
function updateCombo() {
$.get(url, {parametro:valor}, function(data) {
$("#seucombo").find("option").remove()
// supondo que seja uma lista dentro de data
for (i = 0; i < data.lista.length; i++) {
$("#seucombo").append("<option value='" + data.lista[i].valor + "'>" + data.lista[i].nome + "</option>"
}
}, "json")
}
def ajaxGetCargos = {
def empresaInstance = Empresa.get(params.id)
def cargos = Cargo.withCriteria {
empresa {
eq("nome", empresaInstance.nome)
}
}
def resposta = []
resposta = cargos
render resposta as JSON
}
[
{"class":"br.com.teste.Cargo","id":1,"empresa": {"class":"Empresa","id":1},"nome":"Desenvolvedor"}
]
$("#empresa").change( function() {
...
});
$('#empresa').change(function(){
$.getJSON("${createLink(controller:'usuario',action:'ajaxGetCargos')}",{id:$(this).val(), ajax: 'true'}, function(resposta){
$("#cargo").find("option").remove();
for(var i = 0 ; i < resposta.length ; i++)
{
$("#cargo").append("<option value='" + resposta[i].id + "'>" + resposta[i].nome + "</option>");
}
})
})
Para se registrar, clique aqui.