-1

次のようなシリーズ入力タグがあります

<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]
}

どうすればそれを達成できますか?どの関数またはメソッドで?配列で?

4

3 に答える 3

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;
}
于 2012-04-08T17:10:46.480 に答える
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;
}
于 2012-04-08T17:13:43.143 に答える
0

jQuery serializeArray は、必要なものを取得するのに大いに役立ちます。

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

質問で提示した配列形式を正確に返すわけではありませんが、操作できるものが得られるはずです。

于 2012-04-08T17:46:53.920 に答える