Jquery 如何使用输入值作为数组索引
我真的没有主意了。 我一直在读有关这个问题的书,但没有找到任何适合我需要的答案。下面是一个场景 我有一些输入,通过它们的Jquery 如何使用输入值作为数组索引,jquery,Jquery,我真的没有主意了。 我一直在读有关这个问题的书,但没有找到任何适合我需要的答案。下面是一个场景 我有一些输入,通过它们的id <input type="hidden" id="name" value="Taco house" /> <input type="hidden" id="pin" value="Mexican" /> 如果在传递到数组之前打印pin变量,它将打印其实际值,但一旦传递到数组,该值将丢失,索引变为pin 当然,这是一个明显的问题,但由于我不太擅长j
id
<input type="hidden" id="name" value="Taco house" />
<input type="hidden" id="pin" value="Mexican" />
如果在传递到数组之前打印pin
变量,它将打印其实际值,但一旦传递到数组,该值将丢失,索引变为pin
当然,这是一个明显的问题,但由于我不太擅长jquery,我需要一些帮助 这应该可以做到:
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
据我所知(我可能错了),唯一的方法是使用方括号,这可能有点混乱,因为它看起来像是在数组中添加索引。希望这有帮助这应该可以做到:
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
据我所知(我可能错了),唯一的方法是使用方括号,这可能有点混乱,因为它看起来像是在数组中添加索引。希望这有帮助你能发布你的完整代码吗?你的问题一点也不清楚,但是你试过
var foo=markersData.pin[parseInt(pin,10)]
你能发布更多信息吗?难以从描述中理解问题您没有具有pin属性的pin。您有一个命名pin。那么,name:name
看起来像什么<代码>名称:“塔科之家”?@mplungjan是的,实际上名称看起来像名称:“塔科之家”
你能发布你的完整代码吗?你的问题一点也不清楚,但你尝试过var foo=markersData.pin[parseInt(pin,10)]
你能发布更多信息吗?难以从描述中理解问题您没有具有pin属性的pin。您有一个命名pin。那么,name:name
看起来像什么<代码>名称:“Taco house”?@mplungjan yes实际上名称看起来像name:“Taco house”
是markersData[pin]
与markersData.pin
相同吗?请解释你在这里实际做了什么,以帮助提问者理解为什么这应该“起作用”。@Zack,我实际上是在更新我的答案以添加一些澄清。它也应该回答您的问题。这实际上是可行的,但我不明白为什么我不能用我以前的方法使用变量来构建数组索引though@Fabio有人可以给你一个更好的解释,因为我不精通javascript内部工作,但据我所知,当您将pin用作对象键时,解析器不会将其视为变量。我认为它是为了防止混淆,JS不知道您是想使用您声明的字符串还是变量。我明白了,我也不是专家,我知道它应该在phpIsmarkersData[pin]
中正常工作,就像markersData.pin
一样?请解释你在这里实际做了什么,以帮助提问者理解为什么这应该“起作用”。@Zack,我实际上是在更新我的答案以添加一些澄清。它也应该回答您的问题。这实际上是可行的,但我不明白为什么我不能用我以前的方法使用变量来构建数组索引though@Fabio有人可以给你一个更好的解释,因为我不精通javascript内部工作,但据我所知,当您将pin用作对象键时,解析器不会将其视为变量。我认为这是为了防止混淆,JS不知道你是想使用你声明的字符串还是变量。我明白了,我也不是专家,我知道它应该在php中正常工作