Как я могу получить доступ к переменным, отправленным по запросу через jQuery?

StackOverflow https://stackoverflow.com/questions/4216135

Вопрос

Я использую стойки. Мой ActionForm имеет ArrayList, настроенную в нем, как я могу получить доступ к массиву от JSP, что FACEFORM отправляется контроллером в jQuery на кнопке нажатия. Это так, что я могу закрутить элементы этого массива. Я думаю, что это что-то вроде этого, но это удар в темноте (который не работает).

$('myButton').click(function(){
    var myArrayToLoopThrough = $('myForm.myArray');
    for(){
        //looping stuff
    }
}
Это было полезно?

Решение

jQuery работает на HTML, генерируемом вашим JSP.

Поэтому посмотрите на генерируемый HTML в браузере, используя инструмент, похожий на Firebug для Firefox.

Затем вы можете использовать jQuery для выбора и итерации на HTML-элементы. Вот основной синтаксис наиболее полезных вещей:

Выберите ID: $("#id")

Выберите по классу: $(".class")

Выберите тег HTML: $("p") или $("span")

ИТЕРТЬ НА ВЫБОРЕ

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

Официальная документация jQuery на селекторах


РЕДАКТИРОВАТЬ

Исходя из ваших комментариев, вы, кажется, ищем способ взаимодействия с объектами сервера вместо сгенерированного HTML.

JavaScript (jQuery написан в JavaScript) - это язык веб-браузера, который может взаимодействовать только с генерируемым HTML. Ваши объекты Java не отправляются в браузер.

Если вам нужно получить данные с сервера, вам нужен новый HTTP-запрос, чтобы получить эти данные. Это можно сделать в jQuery, используя Методы Ajax..

Другие советы

Вы можете проверить .serializeArray(). Отказ Вы можете получить все данные из формы в хороший объект, чтобы вы могли сделать то, что вы хотите с данными.

JQuery .Serializearray () Документация

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

Теперь вы можете петь через data. Отказ Ключи есть name а также value.

Это то, что вы ищете?

$('.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 );
    }
});
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top