次のようなシリーズ入力タグがあります
<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/
質問で提示した配列形式を正確に返すわけではありませんが、操作できるものが得られるはずです。