2015-05-25 10 views
5

I die anfängliche Anordnung in folgenden Weise vorhanden:jquery schiebt die Schlüssel und Wert in Array

var bankNamesList = [{ 
    'BARODA': 'BARODA' 
}, { 
    'AB': 'AB' 
}]; 

Dann i die Werte am Looping und Hauptvariable angehängt und Konstruieren ein Dropdown-

var bankNames = '<ul class="root" id="exp-bank-names">'; 
$.each(bankNamesList, function() { 
    $.each(this, function(name, value) { 
     bankNames += '<li><a href="#" name="' + name + '">' + value + '</a></li>'; 
    }); 
}); 
bankNames += '</ul>'; 
$('.submenu-bank-list').html(bankNames); 

Wie schiebe ich den neuen Wert in ein Array.

Ich versuchte auf die folgende Weise, aber kein Glück.

var nameAttr = 'SBI';  
bankNamesList.push({nameAttr:nameAttr}); 

Antwort

8

Wenn Sie ein Objekt und seine Eigenschaften schaffen ein Objektliteral verwendet wird, wird der Name auf der linken Seite des : wörtlich genommen (Wortspiel beabsichtigt). Es sucht keinen Variablennamen, es verwendet den Text, den Sie tatsächlich schreiben.

So Ihr Beispiel am Ende:

bankNamesList.push({ 'nameAttr': 'SBI' }); 

Es sieht aus wie Sie es wahrscheinlich gemeint, dies zu tun, ähnlich wie:

var nameAttr = 'SBI';  
bankNamesList.push({nameAttr:nameAttr}); 

eigentlich das gleiche ist, wie wenn Sie dies hat geschrieben die anderen Elemente des bankNamesList Array:

bankNamesList.push({ 'SBI': 'SBI' }); 

Sie, dass auf diese Weise tun könnte:

var nameAttr = 'SBI'; 
var item = {}; 
item[nameAttr] = nameAttr; 
bankNamesList.push(item); 
+0

Nizza Antwort Versuchen + 1 (nützlich für mich) –

4

Sie müssen nur in Anführungszeichen Schlüssel.

var nameAttr = 'SBI'; 
bankNamesList.push({ 
    'nameAttr': nameAttr 
}); 
+0

, die das gleiche wie das Original Code tut bei das Ende der Frage. '{foo: bar}' und '{'foo': bar}' unterscheiden sich nicht voneinander: Beide erzeugen ein Objekt mit einer einzigen Eigenschaft namens 'foo', dessen Wert von der Variablen' bar' kommt. –

1

Diese

var anser_array = []; 
var KeyValuePair = '{"Qid"' + ":" + Question_id + "," + "Ans" + ":" + answer_id + "}"; 
anser_array.push(KeyValuePair); 
Verwandte Themen