2011-04-06 69 views

回答

4

這是因爲pagebacklinks[jQuery('#somevalue').val()]不是一個數組。

這應該工作

var pagebacklinks = new Array();  
pagebacklinks[1] = new Array(); 

pagebacklinks[1][2] = 'sadfasdf'; 

console.log(pagebacklinks[1][2]); 

所以,正確的做法應該是

pagebacklinks[jQuery("#somevalue").val()] = new Array(); 

pagebacklinks[jQuery('#somevalue').val()]["something"] = 33; 
+0

+1正確性。在旁註中,第一級數組中的項可以是另一個數組,也可以是一個對象。 – Anurag 2011-04-06 07:02:16

+0

謝謝......! – 2011-04-06 07:02:54

1

嘗試puting jQuery('#somevalue').val()到一個變量第一然後使用該變量在數組中。

+0

我同意。如果這沒有幫助,請嘗試對這個值進行硬編碼,看看它是否有效。 – Steven 2011-04-06 06:58:10

0

嘗試

var $val=jQuery('#somevalue').val(); 

var pagebacklinks = new Array(); 

pagebacklinks[$val]["something"] = 33; 
1

JavaScript沒有關聯數組。你可以在這裏使用一個對象。

var pagebacklinks = [], 
    index = jQuery('#somevalue').val(); 

pagebacklinks[index] = {'something': 33}; 
1

這是我會怎麼做:

var pagebacklinks = []; // [] is a shorter version than new Array() 

var vKeyLevelOne = jQuery('#somevalue').val(); // May be an int, or a string - a "variant" 

if (typeof pagebacklinks[vKeyLevelOne]=='undefined') pagebacklinks[vKeyLevelOne] = []; 

pagebacklinks[vKeyLevelOne]["something"] = 33; 
相關問題