Jquery 将数据表单HTML传递给JS有效的JSON数据

Jquery 将数据表单HTML传递给JS有效的JSON数据,jquery,html,json,Jquery,Html,Json,我有表格编辑数据和我的输入: <input type="text" id="mySelectID" data-initvalue="[{"id":"1","text":"Value 1"},{"id":"2","text":"Value 2"}]" name="category" /> 我查看控制台: Uncaught Error: Syntax error, unrecognized expression: html中的有效JSON如何传递给JS 谢谢您需要对JSON字符串进行

我有表格编辑数据和我的输入:

<input type="text" id="mySelectID" data-initvalue="[{"id":"1","text":"Value 1"},{"id":"2","text":"Value 2"}]" name="category" />
我查看控制台:

Uncaught Error: Syntax error, unrecognized expression:
html中的有效JSON如何传递给JS


谢谢

您需要对JSON字符串进行html编码。然后,您的标记看起来像:

<input type="text" id="mySelectID" data-initvalue="[{&quot;id&quot;:&quot;1&quot;,&quot;text&quot;:&quot;Value 1&quot;},{&quot;id&quot;:&quot;2&quot;,&quot;text&quot;:&quot;Value 2&quot;}]" name="category" />

更改数据周围的引号(从双引号改为单引号)

还有一件事,不要将
attr
用于
数据
,jQuery有一个内置的方法:


属性
data initvalue
有格式错误您必须替换
data initvalue
中的引号我在
data initvalue
中有错误,我尝试格式化,谢谢。我的代码放在php中:
echo”“如果更改为
data initvalue=\“[{\\\\\”:\“1\”,\“text\”:\“Value 1\”,{\“id\”:“2\”,\“text\”:“Value 2\”}]\
则会显示错误
“[{
如果没有跟上您,请使用
“[{”id:“1”,“text:“Value 1”,{”id:“2”,“text:“Value 2”}]“
不起作用?错误发生在JavaScript中?哪一行?谢谢。它在
”[{“id”:“1”,“text”:“Value 1”},{“id”:“2”,“text”:“Value 2”}]'
中显示错误控制台
语法错误
$(elem).数据(“data initvalue”);
我已经使用了你的代码并将表单
$(elm).attr(“data initvalue”);
更改为
$(elm).data.(“data initvalue”);
。结果控制台未定义thankyou@cnttlc您需要使用
$(elm.data('initvalue');
<input type="text" id="mySelectID" data-initvalue="[{&quot;id&quot;:&quot;1&quot;,&quot;text&quot;:&quot;Value 1&quot;},{&quot;id&quot;:&quot;2&quot;,&quot;text&quot;:&quot;Value 2&quot;}]" name="category" />
<input type="text" id="mySelectID" data-initvalue='[{"id":"1","text":"Value 1"},{"id":"2","text":"Value 2"}]' name="category" />
AjaxCombo("#mySelectID", "ajax.php?get=categories", "multival");
//         ^here
// From this:
$(elem).attr("data-initvalue");
// To this:
$(elem).data("initvalue");