Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何使用输入值作为数组索引_Jquery - Fatal编程技术网

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不知道您是想使用您声明的字符串还是变量。我明白了,我也不是专家,我知道它应该在phpIs
markersData[pin]
中正常工作,就像
markersData.pin
一样?请解释你在这里实际做了什么,以帮助提问者理解为什么这应该“起作用”。@Zack,我实际上是在更新我的答案以添加一些澄清。它也应该回答您的问题。这实际上是可行的,但我不明白为什么我不能用我以前的方法使用变量来构建数组索引though@Fabio有人可以给你一个更好的解释,因为我不精通javascript内部工作,但据我所知,当您将pin用作对象键时,解析器不会将其视为变量。我认为这是为了防止混淆,JS不知道你是想使用你声明的字符串还是变量。我明白了,我也不是专家,我知道它应该在php中正常工作