我有一个系列输入标签,如
<input id="t1" value="1">
<input id="t2" value="2">
<input id="t3" value="3">
然后我想以 id/value 格式构建一个 javascript 对象,例如:
input:
{
["t1",1]
["t2",2]
["t3",3]
}
我怎样才能做到这一点?用哪个函数或方法?用数组?
我有一个系列输入标签,如
<input id="t1" value="1">
<input id="t2" value="2">
<input id="t3" value="3">
然后我想以 id/value 格式构建一个 javascript 对象,例如:
input:
{
["t1",1]
["t2",2]
["t3",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;
}
您的输出对象没有意义,它是一个没有键的对象。假设你真正想要的是:
{
"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;
}
jQuery serializeArray 在获得你想要的东西方面有很长的路要走。
http://api.jquery.com/serializeArray/
它不会准确返回您在问题中提出的数组格式,但它应该为您提供一些可以使用的东西。