Pregunta

Estoy usando puntales. Mi ActionForm tiene un ArrayList establecido dentro de ella, ¿cómo puedo acceder a la matriz de la JSP que el ActionForm se envía a por el controlador de jQuery en un clic de botón. Esto es por lo que puede bucle a través de los elementos de dicha matriz. Supongo que es algo como esto, pero eso es una puñalada en la oscuridad (que no funciona).

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

Solución

jQuery opera en el HTML generado por su JSP.

Así que echar un vistazo al código HTML generado en el navegador usando una herramienta como Firebug para Firefox.

A continuación, puede utilizar jQuery para seleccionar y iterar sobre los elementos HTML. Éstos son la sintaxis básica de las cosas más útiles:

seleccionar un ID : $("#id")

Seleccionar por clase : $(".class")

Selección por etiqueta HTML : $("p") o $("span")

iterar sobre una selección

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

documentación de jQuery Oficial el selectores


Editar

Sobre la base de sus comentarios, que parece estar buscando una manera de comunicarse con el servidor de objetos en lugar de HTML generado.

Javascript (jQuery está escrito en Javascript) es un lenguaje de navegador web que sólo puede interactuar con el HTML generado. Sus objetos de Java no se envían al navegador.

Si lo hace necesidad de recuperar los datos desde el servidor, entonces usted necesita una nueva petición HTTP con el fin de recuperar esos datos. Esto se puede hacer en jQuery usando el métodos AJAX .

Otros consejos

Es posible que desee revisar .serializeArray(). Usted puede obtener todos los datos del formulario en un objeto bonito para que pueda hacer lo que quiera con los datos.

jQuery .serializeArray () Documentación

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

Ahora puede recorrer data. Las teclas son name y value.

Es esto lo que está buscando?

$('.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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top