問題:嘗試使用「動態」變量訪問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]})
嘗試以蒸餾到其最基本的形式是什麼,你正在嘗試做的。重寫代碼的一個測試位以顯示它,這裏有太多的信息需要遵循。 –