我很难从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的第一行。
发布于 2013-05-23 18:15:09
从php中删除。
$simpleArrayJson=json_encode($simpleArray, JSON_FORCE_OBJECT);在这里,您将php数组转换为json字符串。
更改javascript
var simpleArray = <?= json_encode($simpleArray, JSON_FORCE_OBJECT); ?>;在这里,你只是在发泄刺痛。以前你在哪里做这个
var simpleArray = <?=(array) json_decode($simpleArrayJson)?>在json_decode返回数组之后,将数组转换为数组,然后由<?=将数组转换为字符串,因此,最终到达浏览器的内容如下:
var simpleArray = Array; https://stackoverflow.com/questions/16721018
复制相似问题