Question

J'utilise des entretoises. Mon ActionForm a un ArrayList mis en place en son sein, comment puis-je accéder au tableau de la JSP que le ActionForm est envoyé par le contrôleur dans jQuery sur un bouton clic. Il en est ainsi je peux boucle à travers les éléments de cette matrice. Je suppose que quelque chose comme ça, mais c'est un coup de poignard dans le noir (ce qui ne fonctionne pas).

$('myButton').click(function(){
    var myArrayToLoopThrough = $('myForm.myArray');
    for(){
        //looping stuff
    }
}
Était-ce utile?

La solution

jQuery fonctionne sur le code HTML généré par votre JSP.

Alors un coup d'oeil au code HTML généré dans le navigateur à l'aide d'un outil comme Firebug pour Firefox.

Ensuite, vous pouvez utiliser jQuery pour sélectionner et itérer sur les éléments HTML. Voici la syntaxe de base des choses les plus utiles:

Sélectionner un ID : $("#id")

Sélection par classe : $(".class")

Sélectionnez par tag HTML : $("p") ou $("span")

itérer sur une sélection

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

documentation officielle sur jQuery sélecteurs


EDIT

Sur la base de vos commentaires, vous semblez être à la recherche d'un moyen de communiquer avec les objets serveur au lieu de HTML généré.

Javascript (jQuery est écrit en Javascript) est un langage de navigateur web qui ne peut interagir avec HTML généré. Vos objets Java ne sont pas envoyés au navigateur.

Si vous avez besoin de récupérer des données à partir du serveur, vous avez besoin d'une nouvelle requête HTTP afin de récupérer ces données. Cela peut être fait en utilisant jQuery méthodes AJAX .

Autres conseils

Vous pouvez consulter .serializeArray(). Vous pouvez obtenir toutes les données de la forme dans un bel objet pour que vous puissiez faire ce que vous voulez avec les données.

jQuery .serializeArray () Documentation

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

Maintenant, vous pouvez faire une boucle à travers data. Les touches sont name et value.

Est-ce que vous cherchez?

$('.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 );
    }
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top