Javascript 在jQuery'中发送可变数量的字段;s负载

Javascript 在jQuery'中发送可变数量的字段;s负载,javascript,jquery,ajax,search,Javascript,Jquery,Ajax,Search,如何将可变数量的字段传递给的第二个参数?我正在尝试用ajax增强我的搜索,并且一直在遵循Symfony的建议。不幸的是,除了文本字段,我还有一个隐藏字段的列表,我想传递。我无法完成表单的所有输入,因为我必须首先对文本字段执行操作 该函数如下所示: $('#search').keyup(function(key) { // do something to the value var query = this.value; $('#results').load( $(this)

如何将可变数量的字段传递给的第二个参数?我正在尝试用ajax增强我的搜索,并且一直在遵循Symfony的建议。不幸的是,除了文本字段,我还有一个隐藏字段的列表,我想传递。我无法完成表单的所有输入,因为我必须首先对文本字段执行操作

该函数如下所示:

$('#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
变量并传递该字符串。但是,缺少并循环它们,手动创建字符串,我不确定如何执行此操作。

您可以在循环中构建对象:

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

$('#results').load(
    $(this).parents('form').attr('action'), params
);

我想你可以使用这个插件

谢谢,这就是我要找的。不知道为什么我没看到。