Javascript 迭代对象并更改get请求的对象值并不';行不通

Javascript 迭代对象并更改get请求的对象值并不';行不通,javascript,jquery,Javascript,Jquery,我正在迭代一组select字段,并希望为每个字段执行一个get请求。 var selects={key1:value} $(".chosen-select-field").each( function ( index ) { selects[key2] = $( this ).attr('data-placeholder'); console.log(selects) $.get('filter', selects, function(data){ } } 从数据占位符

我正在迭代一组select字段,并希望为每个字段执行一个get请求。 var selects={key1:value}

$(".chosen-select-field").each( function ( index ) {
   selects[key2] = $( this ).attr('data-placeholder');
   console.log(selects)
   $.get('filter', selects, function(data){
   }
}
从数据占位符中检索到的所有属性都不同,但由于某些原因,console.log(selects)-命令始终为key2显示相同的值。它是最后一个选择字段之一

get请求也总是使用相同的key2值调用


这是为什么?我如何才能使它正常工作?

似乎有一些无效的JS

我通过以下几点获得了预期的结果:

var selects = {};

$(".chosen-select-field").each( function ( index ) {
   selects.key2 = $( this ).data('placeholder');
   console.log(selects);
    $.get('filter', selects, function(data){
       console.log(data)
   });
});
可在此处找到用于测试的JSFIDLE:


编辑:--解决了这个问题,选择应该是一个对象而不是一个数组(根据给定的信息进行假设)

你能提供一个plnkr吗?控制台.log($(this).attr('data-placeholder'))输出不同的值吗?选择[key2]=$(this.data('placeholder')@克里斯威拉德:是的。按预期工作。对我来说,它输出“test2”两次。Chrome 36.在控制台打开的情况下加载页面