Pergunta

Estou usando suportes. O My ActionForm possui um ArrayList configurado dentro dela, como posso acessar a matriz do JSP para a qual o ActionForm é enviado pelo controlador no jQuery em um botão Clique. Isso é para que eu possa percorrer os elementos dessa matriz. Eu acho que é algo assim, mas isso é uma facada no escuro (o que não está funcionando).

$('myButton').click(function(){
    var myArrayToLoopThrough = $('myForm.myArray');
    for(){
        //looping stuff
    }
}
Foi útil?

Solução

O JQuery opera no HTML gerado pelo seu JSP.

Portanto, dê uma olhada no HTML gerado no navegador usando uma ferramenta como o Firebug para o Firefox.

Em seguida, você pode usar o jQuery para selecionar e iterar sobre os elementos HTML. Aqui estão a sintaxe básica das coisas mais úteis:

Selecione um ID: $("#id")

Selecione por classe: $(".class")

Selecione por tag html: $("p") ou $("span")

Itera sobre uma seleção

$(...something...).each(function(){
   // this is the DOM element
   // $(this) is a jQuery object containing the DOM element
});

Documentação JQuery Oficial sobre Seletores


EDITAR

Com base em seus comentários, você parece estar procurando uma maneira de se comunicar com objetos do servidor em vez de HTML gerado.

O JavaScript (JQuery está escrito em JavaScript) é um idioma do navegador da Web que só pode interagir com o HTML gerado. Seus objetos Java não são enviados para o navegador.

Se você precisar recuperar dados do servidor, precisará de uma nova solicitação HTTP para recuperar esses dados. Isso pode ser feito no jQuery usando o Métodos Ajax.

Outras dicas

Você pode querer conferir .serializeArray(). Você pode obter todos os dados do formulário em um bom objeto para poder fazer o que deseja com os dados.

documentação jQuery .SerializeArray ()

var data = $('#form-id').serializeArray();

Agora você pode fazer um loop data. As chaves são name e value.

É isso que você está procurando?

$('.myButton').click(function(e) {
    var data = $(this).closest('form').serializeArray();
    for( var i = 0; i < data.length; i++ ) {
        var field = data[i];
        console.log( field.name + '=>' + field.value );
    }
});
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top