gpt4 book ai didi

javascript - jquery数据不解析值html5数据自定义属性

转载 作者:行者123 更新时间:2023-11-28 18:38:51 25 4
gpt4 key购买 nike

我有后端生成的以下 HTML 标签

<select name="brand" class="form-control">
<option value="1" data-info="[{id=1, name=detail#1}, {id=2, name=detail#2}, {id=3, name=detail#3}]">brand#1</option>
<option value="2" data-info="[{id=3, name=detail#3}, {id=4, name=detail#4}, {id=5, name=detail#5}]">brand#2</option>
</select>

我试图在用户更改选项时访问数据信息值,所以我尝试此代码

$('#brand').on('change', function(){
var optionSelected = $("option:selected", this);
var info = optionSelected.data("info")

console.log(typeof info)
})

但是当我得到 typeof 信息时,我得到一个字符串,我需要和对象。

如果我尝试 JSON.parse(info),我会得到 SyntaxError: JSON.parse:预期属性名称或 '}' 在 JSON 数据的第 1 行第 3 列

我知道此错误可能有两个原因:信息已解析或它不是有效的 json。

感谢任何帮助

最佳答案

jQuery 的 JSON 处理程序仅转换有效的 JSON。您那里的 JSON 无效。具体来说,它缺少必要的引号,并且您使用的是 = 而不是 :。它应该是这样的:

<option value="1" data-info='[{"id":1, "name":"detail#1"}, {"id":2, "name":"detail#2"}, {"id":3, "name":"detail#3"}]'>brand#1</option>

仅供引用,the JSON spec .

关于javascript - jquery数据不解析值html5数据自定义属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36483953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com