我无法从PHP数组转换为Javascript数组,然后访问该值。我已经尝试过JSON编码和解码。
PHP:
$simpleArray= [];
$childProducts = Mage::getModel('catalog/product_type_configurable')
->getUsedProducts(null,$_product);
foreach($childProducts as $child) { //cycle through simple products to find applicable
$simpleArray[$child->getVendor()][$child->getColor()] = $child->getPrice();
var_dump ($simpleArray);
}
Javascript:
var simpleArray = <?=json_encode($simpleArray)?>;
//..lots of unrelated code
for(var i=0; i < IDs.length; i++)
{
console.log(simpleArray);
//which color id is selected
var colorSelected = $j("#attribute92 option:selected").val();
console.log('Value of color selected is ' + colorSelected);
$j('.details'+data[i].vendor_id).append('<li class="priceBlock">$'+simpleArray[i][colorSelected]+'</li>');
}
编辑:
我已经摆脱了PHP中的simpleArrayJson声明,并更改了JavaScript的第一行。
最佳答案
您没有理由json_decode()
尝试输出的值。只需直接回显即可:
var simpleArray = <?= $simpleArrayJson ?>;
这将输出一个javascript对象文字。