javascript - 如何使用变量设置ajax数据$key和$value

标签 javascript php jquery ajax

我正在尝试为搜索查询动态创建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/

相关文章:

javascript - 如何使用其他对象中的值创建对象?

javascript - 双大括号不显示我想要的内容

php - Phalcon + Beanstalkd,如何链接我的 Controller ?

javascript - 使用通用(动态)代码显示/隐藏悬停列上的行其他行?

javascript - 在视口(viewport)中按比例调整 DIV 的大小

javascript - 如何验证多个期望条件中是否有任何一个期望为真

javascript - Ember.js 表单即时提交

php - 如何使用 php 从 mysql 表中删除超过 30 分钟或 24 小时的数据

php - WordPress delete_option();通配符能力?

javascript - 我需要来自命名节点映射的值