Javascript 将输入字段中的动态值存储在JS对象中,并转换为JSON 如何将两个HTML字段中的两个值添加到JS对象 然后如何将该对象转换为JSON
代码: 试试这个: 在HTML中添加提交按钮。并在按钮点击时执行以下操作 HTML代码Javascript 将输入字段中的动态值存储在JS对象中,并转换为JSON 如何将两个HTML字段中的两个值添加到JS对象 然后如何将该对象转换为JSON,javascript,jquery,json,Javascript,Jquery,Json,代码: 试试这个: 在HTML中添加提交按钮。并在按钮点击时执行以下操作 HTML代码 <button id="submitButton">Save Values</button> 您的代码(将选择器置于引号中)将成功地在数组中存储属性为title和email的对象。然后该数组将有资格进行垃圾收集,因为您没有在函数之外的任何地方保留对它的引用 如果您的目标是跟踪信息的时间长于每个循环的一次迭代,则在函数外部声明并初始化数组: var arr=[]; $("input")
<button id="submitButton">Save Values</button>
您的代码(将选择器置于引号中)将成功地在数组中存储属性为title
和email
的对象。然后该数组将有资格进行垃圾收集,因为您没有在函数之外的任何地方保留对它的引用
如果您的目标是跟踪信息的时间长于每个
循环的一次迭代,则在函数外部声明并初始化数组:
var arr=[];
$("input").each(function() {
var id = $("#box1").val();
var email = $("#box2").val();
item = {};
item ["title"] = id;
item ["email"] = email;
arr.push(item);
});
但我无法立即看出您在页面上循环使用
input
元素时重复这样做的原因。JSON是一种文本表示法。如果您处理的是内存中的对象,那么您就不是在处理JSON。您需要在选择器$('#box1')
周围加上引号,还要注意,您的变量名是jsonObj
,但它实际上是一个数组。那么如何在javascript中动态地将值推入JSON,您不需要将任何内容推入JSON,而是创建一个对象,如果要向数组添加元素或向对象添加属性,请使用item
对象或jsonObj
变量等数组,然后对其进行字符串化以获得JSON字符串JSON.stringify(myobject)
或JSON.stringify(myarray)
,您已经在考虑将JSON作为内存中javascript对象的文本表示。在这段代码中,jsonObj的行为类似于对象的数组或JSON数组,我对JSON对象有很多误解,它的行为类似于JSON对象的数组。var jsonObj=jsonObj | |[]代码>完全没有意义。这不像jsonObj
在那一点上会有一个值。(T.J.Crowder)我怎样才能在另一个函数中显示对象数组中存储的值?@zet:如果在显示输入之前调用了循环输入的代码,并且页面上有输入,arr
将包含一些内容。我建议您从当前任务中退一步,学习一些基本的JavaScript教程。
$("#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);
});
var arr=[];
$("input").each(function() {
var id = $("#box1").val();
var email = $("#box2").val();
item = {};
item ["title"] = id;
item ["email"] = email;
arr.push(item);
});