将php数组格式化为格式良好的javascript

时间:2016-11-20 18:02:55

标签: javascript php arrays json

在PHP中,我有以下数组:

$variation = [
attribute_label => "Choose your Color", 
attribute_name => "pa_choose-your-color", 
variations => [
                   "819" => "Red", 
                   "820" => "Blue", 
                   "821" => "Green"
              ]
];

我将这个数组json编码发送回我的A​​jax调用。

在json_encode之后,数组看起来像这样:

Javascript

这种数组在Javascript中循环不是很方便。

在循环中,我将attribute_label附加到选择框之前的标签,将attribute_name附加到选择框的data-id属性,变量是选择框中的选项。变体的键不是可选的,它们是变体的ID,用于附加到选择框中选项的data-id。 我之前使用更简单的格式化数组,但由于产品可能有多种变化,我不得不更改数组的格式。

HTML示例

 <label>Choose your Color</label>
 <select data-id="pa_choose-your-color">
 <option data-id="818">Red</option>
 <option data-id="819">Blue</option>
 </select>

我是否必须更改PHP数组的格式,还是有办法在javascript中循环使用这种对象?

1 个答案:

答案 0 :(得分:0)

尝试使用循环构建选项:

var obj = {"attribute_label":"Choose your Color","attribute_name":"pa_choose-your-color","variations":{"819":"Red","820":"Blue","821":"Green"}};

for (variation in obj.variations) {
  console.log("Data ID: " + variation);
  console.log("Color: " + obj.variations[variation]);
}