我有一个像
这样的系列输入标签<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?
答案 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/
它不会完全返回您在问题中提供的数组格式,但它应该为您提供一些工具。