我完全没有想法。 我一直在读这个问题,但我找不到任何适合我需要的答案。所以这是场景
我有一些输入,我可以通过id
<input type="hidden" id="name" value="Taco house" />
<input type="hidden" id="pin" value="Mexican" />
我尝试将值index
用于构建数组
var name = $('#name').val();
var pin = $('#pin').val();
markersData = {
pin: [ //here it should put 'Mexican' instead it puts 'pin'
{
name: name,
location_latitude: 43.5391318,
location_longitude: 10.3020171,
//other nodes here
}
]
};
如果我在传递给数组之前打印pin
变量,它会打印出它的实际值,但是一旦我传递给数组,该值就会丢失,索引就会变成pin。
可以肯定这是一个显而易见的问题,但由于我在jquery中不那么好,我需要一些帮助。
答案 0 :(得分:2)
这应该可以解决问题:
var name = $('#name').val();
var pin = $('#pin').val();
markersData = {};
markersData[pin] = [{
name: name,
location_latitude: 43.5391318,
location_longitude: 10.3020171,
//other nodes here
}];
你的方式不起作用,因为解析器将pin视为字符串,而不是“pin”变量的内容。出于同样的原因,你也不能做markersData.pin。
据我所知(我可能错了),唯一的方法是使用方括号,这可能有点令人困惑,因为它看起来像是为数组添加索引。 希望这有帮助