在jQuery ajax中传递多个输入字段的值?

时间:2017-08-22 15:46:45

标签: javascript jquery ajax

我有多个输入字段,例如

$.ajax({
  url: "/users/filter",
  type: "get", 
  data: { 
    city: city, 
    gender: gender
  },
  success: function(response) {

  }
});

如何使用这些或所有这些输入创建GET请求网址

var datasource = [
  { "label": "item1", "value": "zzz1", "id": 1 },
  { "label": "item2", "value": "zzz2", "id": 2 },
  { "label": "item3", "value": "zzz3", "id": 3 }];
  
$("#jobCat").autocomplete({
  source: datasource,
}).autocomplete( "instance" )._renderItem = function( ul, item ) {
    return $( "<li>" )
      .append( "<div>" + item.value + " - ID: " + item.id + "</div>" )
      .appendTo( ul );
  };

如何在每次更改过滤器输入时发出ajax请求?例如,在选项更改或输入文本输入时发送新请求? 所以我想解释的是,没有提交按钮。每当其中一个字段发生变化时,都需要进行请求

2 个答案:

答案 0 :(得分:0)

您可以使用serializeArray,如下所示:

$.ajax({
  url: "/users/filter",
  type: "get", 
  data: $("form").serializeArray(),
  success: function(response) {
  }
});

或者您也可以使用serialize,以防您不需要JSON但网址编码的参数。

答案 1 :(得分:0)

为此&#34;如何在每次更改过滤器输入时发出ajax请求&#34; -

$('input.filter-users').on('change', function(){
   $.ajax({
     url: "/users/filter",
     type: "get", 
    data: $("form").serializeArray(),
    success: function(response) {
       }
   });
});