JQuery - Tela de Cadastro

Olá pessoal!

Sou iniciante em JQuery e estou fazendo uma tela de cadastro onde na parte superior da janela eu tenho os filtros da pesquisa e uma table para exibir o resultado. Se o usuário clicar em uma linha do resultado eu mostro um div abaixo com o formulário de cadastro e os dados preenchidos. Até aí eu consigo fazer numa boa. O problema é que eu gostaria de clicar em um registro de pesquisa e esse form de cadastro aparecesse via Ajax (JQuery), pois quando clico na linha desejada, minha pesquisa é refeita e dependendo do número de registros, demora muito para montar a página. Alguém poderia me ajudar?

Procure por jquery modal e utilize algo do tipo: $("#divModal").modal(); ou $.modal(data[1]).

O segundo exemplo eu passo uma pagina jsp com o conteudo do modal.

Obrigado alecke. Vou pesquisar. Mas tentei fazer uma coisa simples. Tentei fazer com que um botão exibisse um alert no evento onClick, mas a página não faz nada. O interessante é que se eu fizer um submit na página usando outro botão, após isso a página passa a exibir o alert se eu clicar no botão inicial.
Segue meu código:

DECLARAÇÃO JQUERY

        $(function() {
              $("#btTeste").click(function() {
                alert("teste");
                return false;
              });
        });

DECLARAÇÃO DO BOTÃO

<input id="btTeste" type="submit" value="teste"></li>

Verifique se a biblioteca do jquery foi importada corretamente na página em questão,

Tente assim:


<input id="btTeste" type="submit" value="teste" onclick="exibir();"></li>

function exibir() {
      alert("teste");
}

ou


$("#btTeste").click(function() {
  alert("teste");
});

Reconheço que tive problemas parecidos do bind do jquery não funcior em páginas carregadas dinamicamente (ajax), por isso prefiro utiliza-lo da maneira tradicional utilizando os eventos dos objetos.

Outro exemplo:

Para pegar o valor de um campo:

$("#btTeste").val();

Para definir o valor de um campo:

$("#btTeste").val("valorExemplo");

Existem diversos facilitadores na biblioteca do jquery, e a maior vantagem é funcionar em qualquer navegador com uma velocidade incrivel (buscar nos elementos no DOM, etc) com um tamanho menor que 20k.

Valeu pela dica, mas no meu caso, utilizar da maneira tradicional não resolveria, pois estou trabalhando com struts 2 e ao clicar no botão, eu tinha que fazer um post passando a URL da minha action. Fiz o teste do Alert só p/ saber se o click do botão estava funcionando, mas pelo visto deve ser um problema de bind mesmo.
Preciso fazer algo do tipo:

$(function(){
  $("form").submit(function(){
    var value = $(this).find("input[name=test]").val();
    $.post("/teste/funcionario/pesquisar.action",{"teste":value},function(){
      alert("Pesquisar realizada com sucesso!");
    });
    return false;
  });
});

Nesse caso o bind é feito para o form, mas já vi exemplos como esse utilizando click.

[quote=alissonmn]Valeu pela dica, mas no meu caso, utilizar da maneira tradicional não resolveria, pois estou trabalhando com struts 2 e ao clicar no botão, eu tinha que fazer um post passando a URL da minha action. Fiz o teste do Alert só p/ saber se o click do botão estava funcionando, mas pelo visto deve ser um problema de bind mesmo.
Preciso fazer algo do tipo:

$(function(){
  $("form").submit(function(){
    var value = $(this).find("input[name=test]").val();
    $.post("/teste/funcionario/pesquisar.action",{"teste":value},function(){
      alert("Pesquisar realizada com sucesso!");
    });
    return false;
  });
});

Nesse caso o bind é feito para o form, mas já vi exemplos como esse utilizando click.[/quote]

Viu o novo exemplo que coloquei?


   $("#btTeste").click(function() {  
     alert("teste");  
   });  

Sim,

Coloquei o seu exemplo, mas não funcionou. Ocorre o mesmo que relatei anteriormente. Se clico no botão ele não faz nada, mas se clico em outro botão (btPesquisa) e depois clico no botão inicial (btTeste) ele funciona. Parece que ele só faz o bind depois que um primeiro submit é feito.

Fala, galera!

Estou com um problema que é o seguinte: estou usando jQuery com Struts 2. Fiz uma função JavaScript utilizando o $.ajax para chamar uma Action do Struts2, a partir do atributo url do $.ajax.
Acontece que não funciona. Nem chega na Action do Struts. A Action está mapeada corretamente, pois funciona com o prototype.
Se eu mudar a url para um jsp ou um html também funciona. Só não funciona quando tento passar pelo filtro do Struts2.

Alguma idéia?

Abraço.

#form


$(function(){
  $("#form").submit(function(){
    var value = $(this).find("input[name=test]").val();
    $.post("/teste/funcionario/pesquisar.action",{"teste":value},function(){
      alert("Pesquisar realizada com sucesso!");
    });
    return false;
  });
});