javascript - 获取存储在隐藏输入中的对象数组

标签 javascript jquery

我希望能够获得存储在隐藏输入中的对象数组。

谢谢

这是 html 页面中的隐藏输入:

<input type="hidden" name="idMusicians" value="[{&quot;id&quot;:7069,&quot;project_id&quot;:324,&quot;name&quot;:&quot;Gator&quot;,&quot;first_name&quot;:&quot;Ali&quot;,&quot;instrument_id&quot;:28,&quot;created_at&quot;:&quot;2019-08-02 15:48:07&quot;,&quot;updated_at&quot;:&quot;2019-08-02 15:48:07&quot;,&quot;,{&quot;id&quot;:7070,&quot;project_id&quot;:324,&quot;name&quot;:&quot;Zhette&quot;,&quot;first_name&quot;:&quot;Annie&quot;,&quot;instrument_id&quot;:29,&quot;created_at&quot;:&quot;2019-08-02 15:48:07&quot;,&quot;updated_at&quot;:&quot;2019-08-02 15:48:07&quot;,}]">

我尝试过这个,但它不起作用:

var musicians = $("#idMusicians").map(function(){
    var musician = this;
    return musician;        
}).get();

这也没有成功:

var musicians = $("#idMusicians").data('value');

最佳答案

如果你给它一个id然后使用,你可以获取输入中的值:

$("#idMusicians").val();

将值放入变量后,您可以将其解析为 JSON,然后您可以迭代数组以访问其对象。但是,为了使 JSON.parse() 正常工作,value 中的值必须是有效的 JSON。目前,您的值不是有效的 JSON,因为它无法正确关闭您的第一个对象。如果解决了这个问题,您就可以使用 JSON.parse() 而不会出现错误。

参见下面的示例:

const musicians = $("#idMusicians").val();
const res = JSON.parse(musicians);
console.log(res);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="hidden" id="idMusicians" name="idMusicians" value="[{&quot;id&quot;:7069,&quot;project_id&quot;:324,&quot;name&quot;:&quot;Gator&quot;,&quot;first_name&quot;:&quot;Ali&quot;,&quot;instrument_id&quot;:28,&quot;created_at&quot;:&quot;2019-08-02 15:48:07&quot;,&quot;updated_at&quot;:&quot;2019-08-02 15:48:07&quot;},{&quot;id&quot;:7070,&quot;project_id&quot;:324,&quot;name&quot;:&quot;Zhette&quot;,&quot;first_name&quot;:&quot;Annie&quot;,&quot;instrument_id&quot;:29,&quot;created_at&quot;:&quot;2019-08-02 15:48:07&quot;,&quot;updated_at&quot;:&quot;2019-08-02 15:48:07&quot;}]">

关于javascript - 获取存储在隐藏输入中的对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57337301/

相关文章:

javascript - 如果用户已经无密码登录,Firebase 可以设置密码身份验证吗?

javascript ->>>(补零右移)详解

javascript - 以编程方式使用 dojo 显示图像

jQuery .innerWidth() 在不同浏览器中给出不同的值

jquery - 移动导航(切换菜单)不工作

javascript - 从html数据中获取Column数据

javascript - 三个 JS 手动编辑几何后无视觉更新

javascript - 如果未填写 inputField,则禁用导航到下一页

jQuery:prop vs attr ...澄清

jquery - 如何禁用 jquery 表上的斑马行