2017-06-26 2 views
0

Ich habe dynamisch Zeilen mit einer einzigen Spalte dank der folgenden Code hinzugefügt, aber ich möchte die Zeilen mehrere Spalten haben, von denen einmal der Benutzer einen Kommentar eingeben zu können gelagert. Dies ist der Code mit der einzigen Spalte:Dynamisch Zeilen mit mehreren Spalten in AngularJS hinzufügen

<div ng-controller="MainController"> 
    <script type="text/javascript"> 
     app.controller('MainController', function($scope) { 
     $scope.rows = []; 
     $scope.counter = 0; 
     $scope.$on("CallParentMethod", function(event, args) { 
      $scope.addRow(args); 
     }); 
     $scope.addRow = function(args) { 
      $scope.rows.push($scope.counter + ": bottone:" + args.button + ': cambio in ' + args.value); 
      $scope.counter++; 
      } 
     }); 
    </script> 
    <table> 
     <thead> 
      <tr> 
       <th width="200">Logs</th> 
      </tr> 
     </thead> 
     <tbody> 
      <tr ng-repeat="rowContent in rows"> 
       <td>{{rowContent}}</td> 
      </tr> 
     </tbody> 
    </table> 
</div> 
+0

Können Sie JSON Daten –

+0

Ich habe keine JSON-Daten. Jede Zeile wird beim Klicken auf eine Schaltfläche dynamisch hinzugefügt. Ich möchte, dass eine Zelle einen Wert enthält, den ich an die Funktion übergebe, und eine andere Zelle mit einem bearbeitbaren Textfeld. –

+0

Was ich von deiner Frage bekomme, ist auf Knopfdruck, du willst ein editierbares Textfeld. Habe ich recht? –

Antwort

0

Grundsätzlich Sie beiden Zeilen und Spalten zu wiederholen, und Ihre Daten haben ein Array von Arrays sein. Etwas wie dieses:

<div ng-controller="MainController"> 
<script type="text/javascript"> 
app.controller('MainController', 
    function ($scope) { 
     $scope.rows = []; 
     $scope.counter = 0; 
     $scope.$on("CallParentMethod", function(event, args){ 
      $scope.addRow(args); 
     }); 
     $scope.addRow = function(args) { 
      $scope.rows.push([args.button, args.value]); 
      $scope.counter++; 
     } 
    } 
); 

</script> 
<table> 
    <thead> 
    <tr> 
     <th width="200">Logs</th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr ng-repeat="rowContent in rows"> 
     <td ng-repeat="cellContent in rowContent">{{cellContent}}</td> 
    </tr> 
    </tbody> 
</table> 
</div> 
+0

Danke, aber der Punkt ist, dass ich ein Textfeld als die dritte Zelle eingeben möchte, in der der Benutzer einen Kommentar hinzufügen kann, um später von WebSocket an eine DB und vorübergehend an eine Bereichsvariable übergeben zu werden. In gewisser Weise sollte auch der TH geändert werden, um den Namen der Spalten anzupassen. Auch ist mir nicht klar, was in [args.button, args.value] sein soll, um mehrere Spalten zu erstellen. –

Verwandte Themen