2015-09-01 66 views
0

我想找出一種方法來更改具有動態名稱的JSON對象中的值。如何更新具有動態名稱的Json對象

例如在模板中我修改的對象現在看起來看起來像這樣:

var optionsPrice_<?php echo $_product->getId() ?> = new Product.OptionsPrice(<?php echo $this->getJsonConfig() ?>); 

我有,因爲在頁面上的多個產品,使這個變量獨一無二的,我們需要單獨針對每一個。

optionsPrice.changePrice('config', {'price': price, 'oldPrice': oldPrice}); 

我怎樣才能訪問動態對象,然後修改它:

這個對象,然後用一個函數中修改?我不想改變大部分的JS來讓它工作。

我曾考慮將名稱保留爲'optionsPrice',然後遍歷所有對象並根據它們包含的ID修改正確的名稱。儘管這看起來不是很有效。

感謝

回答

1

您可以使用,而不是單個變量的對象:

var optionsPrice = {} 
optionsPrice[<?php echo $_product->getId() ?>] = new Product.OptionsPrice(<?php echo $this->getJsonConfig() ?>); 

然後,你可以參考它爲:

console.log(optionsPrice[YOUR_ID_HERE]); 
console.log(optionsPrice["20"]); // Example 
+0

感謝。然而,我現在的問題是因爲對象結構已經改變了,現在鍵包含未定義的值。我可能需要修改現在如何分配這些值以迎合新結構,除非有另一種方式來實現。 – Robert

相關問題