php - 将选择元素值推送为 json

标签 php javascript json

由于当前系统设计的局限性,我需要将数据作为 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/

相关文章:

php - 如何显示 Blob 数据的缩略图

php - Laravel artisan 迁移 :refresh xammp give's weird error

javascript - 你怎么知道一个对象有哪些方法

javascript - 如何显示/隐藏内容

json - Ember 数据 : Using "links" on JSON payload for hasMany relationships

python - 如何制作多列,每列具有不同的行

php - 使用Youtube API v3断点续传上传较大的视频时出错(在AWS EC2上)

php - 使用 PHP 创建用户时 MySQL 连接错误

javascript - 如何将 JSON 数据存储为 JavaScript 表格式?

javascript - 如何使用javascript在嵌套构建表中使用数组