2014-02-18 63 views
0

我想根據ul元素的索引獲取數組的值。我會盡力解釋自己:從變量獲取數組值

var descgal0 = ["3456", "463", "6557", "5242"]; 
var descgal1 = ["gfdgfd" "gfgdfg", "gfdg", "gfdg"]; 
$("#gal-content-all section ul li img").click(function() { 
    var index = $(this).parent().index(); 
    var indexul = $(this).parent().parent().parent().index(); 
}); 

問題是

$("#gal-zoom h4").text(descgal0[index]); //WORKS! 
$("#gal-zoom h4").text("descgal"+indexul+[index]); //DOESN'T WORK :(

我怎麼能拿這取決於我點擊UL數組李:價值... ...? 謝謝!!!!

+1

感謝@Rads爲語法修正。英語不是我的母語;) – Gaby

回答

1

可以使用數組的數組,因爲你有順序的索引

var descgals = [ 
    ["3456", "463", "6557", "5242"], 
    ["gfdgfd", "gfgdfg", "gfdg", "gfdg"] 
]; 
$("#gal-content-all section ul li img").click(function() { 
    var index = $(this).parent().index(); 
    var indexul = $(this).parent().parent().parent().index(); 
    $("#gal-zoom h4").text(descgals[indexul][index]); 
}); 
+0

謝謝!!!!!!!!!!!! – Gaby

0

考慮eval好像只有這樣你的數據模型:

$("#gal-zoom h4").text(descgal0[index]); //WORKS! 
$("#gal-zoom h4").text(eval("descgal"+indexul+"["+ index + "]")); //SHOULD WORK :D 

,如果你有控制權數據模型,你可以用一些比eval更漂亮的東西,像這樣:

var descgal = [["3456", "463", "6557", "5242"],["gfdgfd" "gfgdfg", "gfdg", "gfdg"]]; 

$("#gal-zoom h4").text(descgal[indexul][index]); 
0

,你必須使用eval,試試這個:

$("#gal-zoom h4").text(eval("descgal" + indexul + "[" + index + "]")); 

,而不是這樣的:

$("#gal-zoom h4").text("descgal"+indexul+[index]); 
0

嘗試這種方式

$("#gal-zoom h4").text(descgal0[index]); 
arrName="descgal"+indexul; 
$("#gal-zoom h4").text(arrName[index]); 

編碼快樂:)

+0

感謝您的回覆,解決方案是Arun P Johny的選擇 – Gaby