迭代对象并为get-requests更改对象的值不起作用

时间:2014-07-18 15:35:47

标签: javascript jquery

我正在迭代一堆select-fields,并希望为每个select-fields执行get-request。     var choices = {key1:value}

$(".chosen-select-field").each( function ( index ) {
   selects[key2] = $( this ).attr('data-placeholder');
   console.log(selects)
   $.get('filter', selects, function(data){
   }
}

从data-placeholder检索的所有属性都不同,但由于某些原因,console.log(choose)命令始终显示key2的相同值。它是最后一个选择字段之一。

get-request也会被调用,并始终使用相同的key2值。

为什么会这样,我怎样才能让它正常工作?

1 个答案:

答案 0 :(得分:1)

好像有一些无效的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)
   });
});

可以在这里找到用于测试的JSFiddle:http://jsfiddle.net/K9pA8/2/

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