2014-02-18 64 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