如何构建键/值格式的javascript对象
我有一个序列输入标签,比如如何构建键/值格式的javascript对象,javascript,object,formatting,Javascript,Object,Formatting,我有一个序列输入标签,比如 <input id="t1" value="1"> <input id="t2" value="2"> <input id="t3" value="3"> 如何实现?使用哪个函数或方法?使用数组?您描述的对象无效。假设你的意思是: { "t1":1, "t2":2, "t3":3 } 只需在元素上循环,并检查id和value属性即可获得数据 var inputs = document.getElementsBy
<input id="t1" value="1">
<input id="t2" value="2">
<input id="t3" value="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在获得您想要的东西方面走了很长的路
它不会返回您在问题中给出的确切数组格式,但它应该给您提供一些可以使用的东西。我什么也没试过,我一点都不知道。好吧,您至少应该用谷歌搜索一下。您需要这个做什么?您的问题所需的格式甚至不是有效的javascript。
var inputs = document.getElementsByTagName('input'),
inputVals = {};
for (var i = 0, il = inputs.length; i < il; i++) {
inputVals[inputs[i].id] = inputs[i].value;
}