【发布时间】:2014-10-15 09:51:25
【问题描述】:
将 json 对象转换为已排序的 HTML 选择(仅限直接 javascript)的最佳方法是什么?
json 的格式可以根据需要进行更改。我一直在搜索,大多数文档都说对象键无法排序,只能对数组进行排序,但我不知道如何修改 json 的结构以使其成为数组,从而轻松排序。
var json = {
"group3": [
{"value33": "label33"},
{"value13": "label13"},
{"value23": "label23"}
],
"group1": [
{"value21": "label21"},
{"value31": "label31"},
{"value11": "label11"}
],
"group2": [
{"value22": "label22"},
{"value12": "label12"},
{"value32": "label32"}
]
};
会变成这样:
<select multiple="multiple">
<optgroup label="Group 1">
<option value="value11">Label 11</option>
<option value="value21">Label 21</option>
<option value="value31">Label 31</option>
</optgroup>
<optgroup label="Group 2">
<option value="value12">Label 12</option>
<option value="value22">Label 22</option>
<option value="value32">Label 32</option>
</optgroup>
<optgroup label="Group 3">
<option value="value13">Label 13</option>
<option value="value23">Label 23</option>
<option value="value33">Label 33</option>
</optgroup>
</select>
【问题讨论】:
-
你有没有尝试过?请发布您解决问题的尝试。
-
创建一个(空)数组。拆分键
(group?)末尾的数字并将其用于数组索引。填充数组。然后,使用for循环遍历数组并写出数据。
标签: javascript html json sorting