Javascript 迭代对象并更改get请求的对象值并不';行不通
我正在迭代一组select字段,并希望为每个字段执行一个get请求。 var selects={key1:value}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){ } } 从数据占位符
$(".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.在控制台打开的情况下加载页面