2012-04-08 2 views
-1

I wieWie ein JavaScript-Objekt mit Schlüssel/Wert-Format

<input id="t1" value="1"> 
<input id="t2" value="2"> 
<input id="t3" value="3"> 

dann will ich bauen ein Javascript-Objekt als id/Wert-Format, wie eine Reihe Input-Tag haben bauen:

input: 
{ 
    ["t1",1] 
    ["t2",2] 
    ["t3",3] 
} 

Wie kann ich das erreichen? mit welcher Funktion oder Methode? mit Array?

+0

Ich habe nichts versucht, ich habe überhaupt keine Idee – hh54188

+0

Nun, Sie sollten zumindest googlen. –

+1

Wozu brauchst du das? Das gewünschte Format von deiner Frage ist nicht einmal gültiges Javascript. – Niko

Antwort

3

Das von Ihnen beschriebene Objekt ist ungültig. Angenommen, Sie bedeuten:

{ 
    "t1":1, 
    "t2":2, 
    "t3":3 
} 

Gerade Schleife über die Elemente und die ID und den Wert Eigenschaften untersuchen, um die Daten zu bekommen.

var inputs = document.getElementsByTagName('input'); 
var ob = {}; 
for (var i = 0; i < inputs.length; i++) { 
    var input = inputs[i]; 
    ob[input.id] = input.value; 
} 
2

Ihr Ausgabeobjekt macht keinen Sinn, es ist ein Objekt ohne Schlüssel. Unter der Annahme, was Sie wirklich wollen, ist:

{ 
    "t1": 1, 
    "t2": 2, 
    "t3": 3 
} 

Sie so etwas tun könnte und inputVals wird die obige Aufgabe enthalten:

var inputs = document.getElementsByTagName('input'), 
    inputVals = {}; 

for (var i = 0, il = inputs.length; i < il; i++) { 
    inputVals[inputs[i].id] = inputs[i].value; 
} 
0

jQuery serializeArray geht einen langen Weg zu bekommen, was Sie wollen.

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

Es gibt nicht genau das Array-Format, das Sie in der Frage vorhanden, aber es sollte Ihnen etwas geben, mit zu arbeiten.

Verwandte Themen