我正在尝试为搜索查询动态创建ajax数据$key和$value。我有三个下拉菜单,当其中一个菜单发生变化时,我想循环遍历每个菜单以获取它们的值,并为我的ajax数据创建一个 $key + $value 。
到目前为止我已经得到:
$(document).on("change", ('select'), function(e){
$('select').each(function(i, val){
value = $(this).val();
param_name = $(this).attr("name");
var query = { };
query['' + param_name + ''] = value;
console.log(query);
});
search(query);
});
但这当然会创建 3 个不同的查询,而不是组合一个。
或者是否有一种方法可以在更改过滤器后简单地添加/更新搜索查询,而不是每次都循环遍历每个搜索查询。
最佳答案
您需要在循环外部声明 query
对象,以便每个事件只有一个对象
$(document).on("change", ('select'), function(e){
var query = { };
$('select').each(function(i, val){
value = $(this).val();
param_name = $(this).attr("name");
query[ param_name] = value;
console.log(query);
});
search(query);
});
较短的版本:
$(document).on("change", ('select'), function(e){
var query = { };
$('select').each(function(i, val){
query[ this.name] = this.value;
});
search(query);
});
关于javascript - 如何使用变量设置ajax数据$key和$value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38333457/