问题:尝试使用“动态”变量访问JSON/JavaScript数组。
#实施例#
代替... ARRAY1 [] 或数组2 [] 或甚至array9000 []
财产以后像...变种my_array =“阵列'+'一些生成的数字';
然后就... my_array [] 或 my_array [一定数量]
但这一点儿也不工作...(sollution NOW在底部)
作为JavaScript数组名称的变量
我有一些PHP读取一些目录加上有内容来创建JSON数组。该JSON阵列按顺序命名,并且它们存储图像目录...
例JSON数组名称: images0,images1,images2等..
<?php
$dir = opendir(getcwd());
$num=0;
while($folder = readdir($dir)) {
if($folder !== '.' && $folder !== '..'){
if (is_dir($folder)) {
echo '<script type="text/javascript">';
$folderCHILD = opendir($folder);
while($image = readdir($folderCHILD)) {
if($image !== '.' && $image !== '..'){
$images[]=$folder."/".$image;
}
}
closedir($folderCHILD);
echo 'images'.$num.' ='.json_encode($images);
unset($images);
echo '</script>';
$num++;
}
}
}
closedir($dir);
?>
然后,我有一些JavaScript/jQuery的这是'尝试'通过点击函数访问这些按顺序命名的JSON数组。该函数将使用存储在JSON数组中的图像目录创建一个图像。
<script type="text/javascript">
$(document).ready(function() {
$('something').click(function() {
var indexCURRENT = $(this).index();
var ARRAY = 'images'+indexCURRENT;
$(document.createElement("img")).attr({ src: ARRAY[some number]}).addClass("image").appendTo('body');
});
});
</script>
^以上javascipt的/ jQuery的不起作用^
但由于开发无效居民这段代码做的工作......
<script type="text/javascript">
$(document).ready(function() {
$('#gallery_link p').click(function() {
var indexCURRENT = $(this).index();
var ARRAY = 'images'+indexCURRENT;
$(document.createElement("img")).attr({ src: window[ARRAY][some number]}).addClass("image").appendTo('body');
});
});
</script>
的区别?
.attr({ src: window[ARRAY][some number]})
尝试以蒸馏到其最基本的形式是什么,你正在尝试做的。重写代码的一个测试位以显示它,这里有太多的信息需要遵循。 –