如何使用键/值格式构建javascript对象

时间:2012-04-08 17:06:35

标签: javascript object formatting

我有一个像

这样的系列输入标签
<input id="t1" value="1">
<input id="t2" value="2">
<input id="t3" value="3">

然后我想构建一个javascript对象作为id / value格式,如:

input:
{
   ["t1",1]
   ["t2",2]
   ["t3",3]
}

我怎样才能实现?使用哪个函数或方法?使用Array?

3 个答案:

答案 0 :(得分:3)

您描述的对象无效。假设你的意思是:

{
   "t1":1,
   "t2":2,
   "t3":3
}

只需循环遍历元素,并检查id和value属性以获取数据。

var inputs = document.getElementsByTagName('input');
var ob = {};
for (var i = 0; i < inputs.length; i++) {
  var input = inputs[i];
  ob[input.id] = input.value;
}

答案 1 :(得分:2)

你的输出对象毫无意义,它是一个没有键的对象。假设你真正想要的是:

{
    "t1": 1,
    "t2": 2,
    "t3": 3
}

您可以执行以下操作,inputVals将包含上述对象:

var inputs = document.getElementsByTagName('input'),
    inputVals = {};

for (var i = 0, il = inputs.length; i < il; i++) {
    inputVals[inputs[i].id] = inputs[i].value;
}

答案 2 :(得分:0)

jQuery serializeArray可以帮助您获得所需的内容。

http://api.jquery.com/serializeArray/

它不会完全返回您在问题中提供的数组格式,但它应该为您提供一些工具。