問題:「動的」変数を使用して JSON/JavaScript 配列にアクセスしようとしています。
# 例 #
代わりに... array1[ ]またはarray2[ ]またはarray9000[ ]
のようなもの... var my_array = 'array' + 'some generated number' ;
次に... my_array[ ]またはmy_array [some number] しかし
、これは機能しません... (解決策は下部にあります)
JSON配列を作成するために、いくつかのディレクトリに加えてコンテンツを読み取るPHPがいくつかあります。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);
?>
次に、クリック関数を介して、これらの順番に名前が付けられた JSON 配列にアクセスしようとしている Javascript/Jquery があります。この関数は、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 は動作しません^しかし、 dev-null-
dweller のおかげで、このコードは動作します...
<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]})