由于当前系统设计的局限性,我需要将数据作为 json 传递给选择元素,使用 json 中的“id”值重置选择对象中的每个选项,并使用填充第二个选择元素来自 json 的“sid”数据,用于创建选择元素的动态父子对。
但是我似乎无法成功解析选项值并将其插入数组以供以后代码使用。
<select id="Sector">
<option value="{'id':'Fruit','sid':['Apple','Orange']}"></option>
<option value="{'id':'Veg','sid':['Tomato','Carrot']}"></option>
</select>
<script language="JavaScript" type="text/javascript">
var plist = document.getElementById('Sector');
var opts = plist.options;
var x =[];
for(i=0;i<opts.length;i++){
x.push(opts[i].value);
}
alert(x[0]['id']);
</script>
我做错了什么??我
最佳答案
选项值是字符串。如果你想把它们当作 JavaScript 对象,你必须通过 a JSON parser 来运行它们。 .
然后您将遇到另一个问题,因为选项值不是 JSON。使用 JSON Lint找到你的错误(除了你在你应该使用 "
的地方使用 '
之外,我看不到任何错误)。如果你正在处理 JSON,你应该几乎总是用编程语言构建数据结构,然后通过 JSON 序列化程序运行它,手工制作 JSON 是自找麻烦。
关于php - 将选择元素值推送为 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6594518/