2016-10-03 5 views
0

私はアイデアが不足しています。 私はこの問題について読んできましたが、私のニーズに合った答えは見つかりませんでした。そこでここでは、シナリオ配列のインデックスとして入力値を使用する方法

私は彼らの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を印刷すると実際の値が出力されますが、配列に渡すと値が失われ、インデックスがピンになります。

確かにこれは明らかな質問ですが、私はjqueryでうまくいないので、私はいくつかの助けが必要です。

+2

フルコードを掲載できますか? –

+2

あなたの問題はまったく明らかではありませんが、 'var foo = markersData.pin [parseInt(pin、10)]' –

+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 
}]; 

あなたの方法は、動作しません。同様の理由で、markersData.pinも実行できません。

私が知っている限り(私は間違っているかもしれません)、これを行う唯一の方法は角括弧を使用することです。これは、配列にインデックスを追加するように見えるので混乱するかもしれません。 ご希望の方は

+1

'markersData [pin]'は 'markersData.pin'と同じですか?あなたが実際に何をしているのか説明してください。 – Zack

+0

@ Zack、私は実際にいくつかの説明を加えるために私の答えを更新していました。あなたの質問にも答える必要があります。 – vincenth

+0

これは実際に働いていますが、私は以前の方法で配列インデックスを構築するために変数を使用することができない理由を理解していません。 – Fabio

関連する問題