javascript - 从 jquery 附加的 div 生成 json 输出

标签 javascript jquery json

contact_info div 中的 html 是使用 jquery 附加函数动态附加的(可以存在多个联系人)。如何使用 jquery 从输入中生成以下 json 格式?

{
   "Company":[
      {
         "company_name":"ABC Company",
         "contact_info":[
            {
               "contact_person":"Mr. ABC",
               "email":"abc@def.com"
            },
            {
               "contact_person":"Mr. XYZ",
               "email":"xyz@def.com"
            }
         ]
      }
   ]
}

<div class="form-group">
    <label>Company Name
    </label>
    <div class="col-md-5">
        <input name="company_name" id="company_name" type="text" class="form-control">
    </div>
</div>

<div id="contact_info">
    <div class="row">
        <div class="form-group">
           <div class="row">
                <label>Contact Person
                </label>
                <input name="contact_person" id="contact_person" type="text" class="form-control" maxlength="100">
                <label>Email
                </label>
                <input type="email" name="cp_email" id="cp_email" class="form-control" maxlength="100">
            </div>
        </div>
    </div>
</div>

最佳答案

<button onclick="addCompany()">Add Company</button>

------------脚本------------

var company=[];
function addCompany()
{
  var pushed=0;
$.each(company, function(i, data) {

    if(data.company_name===$('#company_name').val())
    {

      company[i].contact_info.push({
               "contact_person":$('#contact_person').val(),
               "email":$('#cp_email').val()
            });
       pushed++;

      return false;

    }


});
if(pushed==0)
    {

      var obj={
    "company_name":$('#company_name').val(),
         "contact_info":[
            {
               "contact_person":$('#contact_person').val(),
               "email":$('#cp_email').val()
            }
            ]
};
company.push(obj);
    }

alert(JSON.stringify(company));
}

关于javascript - 从 jquery 附加的 div 生成 json 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36819324/

相关文章:

javascript - 字体粗细 : 100 is not working in reactjs/javascript

php - 在 PHP 中调试 Ajax 请求的最佳调试工具

java - 是否可以使用具有纳秒值的 Jackson

javascript - 使用占位符关键字在 Controller 中返回 json 对象

javascript - DataTables 警告(表 id = 'example'): Requested unknown parameter '0' from the data source for row 0

javascript - 如何匹配数组并显示不在数组中的数组?

javascript - 在 JQuery 验证中允许数字和逗号?

javascript - 在 Highchart 图例中,想要在开始时带上复选框

Javascript json eval() 注入(inject)

javascript - 通过 Actionscript 调用 JS