2013-06-26 10 views
24

Ich möchte durch $ Scope-Variablen mit einer for-Schleife wie folgt durchlaufen. In diesem Beispiel enthält das Objekt $ scope ein Objekt Konten einschließlich 5 Objekte, deren Namen Zahlen von 1 bis 5 sind. Jede von ihnen hat einen Namen.

for(var i = 1; i < 5; i++){ 
    $('#name').val($scope.accounts.i.name); 
} 

Das Problem:$ scope.accounts.i ist undefined, weil ich als Varibale innerhalb des $ scope Variable zählt nicht. Es zählt als der Buchstabe i, also sehe ich keine Möglichkeit, einen Bereich mit einer for-Schleife zu durchlaufen. Wenn ich "" um die $ scope-Variable verwende, wird sie einfach als HTML angezeigt und angular wird nicht interpretiert.

+1

so Konto ist ein Array mit 5 Objekte von fünf Schlüsselwertepaare? –

+0

Konten ist ein Array mit 5 Objekten und mehreren Schlüsselwertpaaren. Aber natürlich hat jeder Account die gleiche Anzahl an Paaren. ;) – Sorcerer

+0

mögliches Duplikat von [Array in JavaScript durchlaufen] (http://stackoverflow.com/questions/3010840/loop-through-array-in-javascript) – Stewie

Antwort

44

Angular Weise oben zu tun ist,

$scope.accounts=[{name:"123"},{name:"124"},{name:"125"}] 

      angular.forEach($scope.accounts,function(value,index){ 
       alert(value.name); 
      }) 
1

Wenn Konten ein Array ist, können Sie das Array Indexer verwenden:

for(var i = 1; i < 5; i++){ 
    $('#name').val($scope.accounts[i].name); 
} 
Verwandte Themen