Отправить переменное количество полей в загрузке jQuery - PullRequest
0 голосов
/ 29 июля 2011

Как можно передать переменное количество полей во второй параметр .load () ? Я пытаюсь улучшить свой поиск с помощью ajax и следую учебнику Symfony Jobeet . К сожалению, помимо текстового поля, у меня есть список скрытых полей, которые я хотел бы пропустить. Я не могу сериализовать все входные данные формы, потому что сначала мне нужно выполнить операцию с текстовым полем.

Функция выглядит примерно так:

$('#search').keyup(function(key)
{
  // do something to the value
  var query = this.value;

  $('#results').load(
    $(this).parents('form').attr('action'),
    // pass query along with all hidden fields
    { query: query, /* variable number of hidden input fields go here */ }
  );
}

Один из вариантов мог бы заключаться в сериализации всех полей, кроме ввода «поиск», добавлении измененной переменной query и передаче этой строки. Однако, если не считать получения всех полей и их циклического обхода, создания строки вручную, я не уверен, как это сделать.

Ответы [ 2 ]

0 голосов
/ 29 июля 2011

Я думаю, вы могли бы использовать плагин serializeObject () .

0 голосов
/ 29 июля 2011

Вы можете построить объект в цикле:

var params = { query: query };
$('#form input[type="hidden"]').each(function() {
    params[this.name] = $(this).val();
});

$('#results').load(
    $(this).parents('form').attr('action'), params
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...