存储JS对象中输入字段的动态值,并转换为JSON

时间:2014-08-04 07:57:40

标签: javascript jquery json

  1. 如何将两个HTML <input>字段中的两个值添加到JS对象?
  2. 如何将该对象转换为JSON?
  3. 代码:

    $("input").each(function() { var jsonObj=[];        
        var id = $(#box1).val();
        var email = $(#box2).val();
        item = {};
        item ["title"] = id;
        item ["email"] = email;
        jsonObj.push(item);  
    });
    

2 个答案:

答案 0 :(得分:1)

您的代码(选择器放在引号中)将成功存储数组中属性为titleemail的对象。然后该数组将有资格进行垃圾收集,因为您不会在函数外的任何地方保留对它的引用。

如果您的目标是跟踪信息的时间超过each循环的一次迭代,请在函数外部声明并初始化

var arr=[];
$("input").each(function() {         
    var id = $("#box1").val();
    var email = $("#box2").val();
    item = {};
    item ["title"] = id;
    item ["email"] = email;
    arr.push(item);  
});

但是,在循环浏览页面上的input元素时,我无法立即看到您反复这样做的原因。

答案 1 :(得分:0)

试试这个:

在HTML中添加提交按钮。按下按钮时执行以下操作。

HTML CODE

<button id="submitButton">Save Values</button>

更改 JS

$("#submitButton").on('click',function() { 
    var jsonObj=  jsonObj || [];        
    var id = $("#box1").val();
    var email = $("#box2").val();
    item = {};
    item ["title"] = id;
    item ["email"] = email;
    jsonObj.push(item);  
});