私はワードプレスのウェブサイトで、phpからjqueryに配列を持ってきています。$ jqueryArray(console.logから取得)に変換すると、次のような多次元配列になります。
2:オブジェクト{max = "10"、min = "500"、number = "2"}
3:オブジェクト{max = "15"、min = "750"、number = "3"}
4:オブジェクト{max = "8"、min = "400"、number = "4"}
5:オブジェクト{max = "12"、min = "700"、number = "5"}
1:オブジェクト{max = "10"、min = "500"、number = "1"}
コードは次のとおりです。
jQuery(function() {
jQuery('.wpsc_select_variation').change(function(){
var arrayFromPHP = <?php echo json_encode($alt_tables) ?>;
var $jqueryArray = {};
jQuery.each(arrayFromPHP, function (key, value) {
$jqueryArray[key] = {};
$jqueryArray[key] = value;
});
console.log($jqueryArray);
// clears the div that we will type the Table Minimum order too
jQuery('#table-details').empty();
var $selectedName;
// returns an integer, specific to the Table # selected
$selectedName = jQuery(this).find(':selected').text().replace('Table ', '');
console.log($jqueryArray.$selectedName);
var $newDetails = 'Table minimum order: ';
jQuery('#table-details').append( $newDetails );
});
});
何らかの理由で$jqueryArray。$selectedNameが未定義です。$ jqueryArrayには1から5までの番号が付けられた5つのキーがあることがわかりますが、console.log($ jqueryArray.1);を試しても 未定義になります。配列から番号を呼び出す方法がわからないようです。基本的に欲しい
$ jqueryArray [$ selectedName][min]console.logで$jqueryArray[$ selectedName]を試しましたが、未定義も受け取りました
jsfiddleを追加しましたhttp://jsfiddle.net/kzuyd/14/
<?php echo json_encode($alt_tables) ?>
phpはjsfiddleで機能しないため、を取得して変数として追加しました。うまくいけば、それは同じように動作します。