Domanda

sto usando montanti. Il mio ActionForm ha un ArrayList istituito al suo interno, come posso accedere alla matrice dalla JSP che l'ActionForm viene inviato dal controllore in jQuery su un pulsante di scatto. Questo è quindi possibile scorrere gli elementi di tale matrice. Credo che la sua qualcosa di simile, ma che è una pugnalata al buio (che non funziona).

$('myButton').click(function(){
    var myArrayToLoopThrough = $('myForm.myArray');
    for(){
        //looping stuff
    }
}
È stato utile?

Soluzione

jQuery opera sul codice HTML generato dal vostro JSP.

Quindi, dare un'occhiata al codice HTML generato nel browser utilizzando uno strumento come Firebug per Firefox.

Quindi è possibile utilizzare jQuery per selezionare e iterare sugli elementi HTML. Ecco la sintassi di base delle cose più utili:

Selezionare un ID : $("#id")

Seleziona per classe : $(".class")

Seleziona per tag HTML : $("p") o $("span")

iterazioni su una selezione

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

documentazione ufficiale jQuery sui selettori


Modifica

In base alle vostre osservazioni, ti sembra di essere alla ricerca di un modo per comunicare con il server oggetti invece di HTML generato.

Javascript (jQuery è scritto in Javascript) è un linguaggio di browser web che può solo interagire con HTML generato. I suoi oggetti Java non vengono inviati al browser.

Se si ha bisogno di recuperare i dati dal server, allora avete bisogno di una nuova richiesta HTTP al fine di recuperare i dati. Questo può essere fatto in jQuery utilizzando il metodi AJAX .

Altri suggerimenti

Si può voler controllare .serializeArray(). È possibile ottenere tutti i dati dal modulo in un oggetto bello in modo da poter fare quello che vuoi con i dati.

jQuery .serializeArray () Documentazione

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

Ora è possibile scorrere data. I tasti sono name e value.

E 'questo quello che stai cercando?

$('.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 );
    }
});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top