3

Nachdem ich verschiedene Stackoverflow-Ressourcen überprüft habe, sieht es so aus, als ob ich immer noch nicht in der Lage bin, die Angular-Methode zu finden. Die HTML-Tabelle, die nur eine Id-Spalte und eine weitere Textspalte (Eingabefeld) enthält, wird dynamisch über ng-repeat aufgefüllt. Dann stelle ich "update" und "delete" Funktionen/Buttons für jeden einzelnen Datensatz bereit, der das Eingabefeld anzeigt. Die 'Löschen'-Funktion scheint OK zu sein, beim' Löschen'-Button klicke ich einfach die ID als Argument an die Funktion. Mit Klickereignis 'update' weiß ich nicht, wie ich den Wert des Eingabefeldes als zweites Argument an die Funktion übergeben soll. Bitte beachten Sie das vereinfachte Markup und den Code unten.AngularJS - Aktualisiere Wert des Eingabefeldes in einer dynamischen Tabelle beim Klick auf die Schaltfläche

<tr ng-repeat="rec in allRecords"> 
    <td>{{rec.Id}}</td> 
    <td> 
     <button ng-click="update(rec.Id, HERE_TEXT_FROM_SIBLING_INPUT')">Update</button> 
     <input type="text" value="{{rec.Name}}"> 
     <button ng-click="deleteMonitorGroup(rec.Id)">Delete</button> 
    </td> 

Und der Controller

app.controller('MyCtrl', function (MyService, $scope) { 

MyService.listAllRecords(function (allRecs) { 
    $scope.allRecords= allRecs; 
}); 

$scope.update = function (Id, text) { 

     MyService.update(Id, text, function() { 
      // update record 
     }); 
} 

}); 

Jede Hilfe sehr geschätzt wird.

Antwort

3

Verwenden ng-model dort auf Eingabefelder wie ng-model="rec.Name" die rec.Name durch Winkel Zweiweg aktualisiert halten feature.Then Bindung Do not Pass ng-model ‚s rec.Name der aktualisierten Funktion OR eher nur rec Objekt auf Funktionsaufruf übergeben, um es einfachere .

Markup

<tr ng-repeat="rec in allRecords"> 
    <td>{{rec.Id}}</td> 
    <td> 
     <button ng-click="update(rec)">Update</button> 
     <input type="text" ng-model="rec.Name"> 
     <button ng-click="deleteMonitorGroup(rec.Id)">Delete</button> 
    </td> 
</tr> 
+0

Vielen Dank für Ihre Hilfe und sehr schnelle Antwort, alles funktioniert jetzt! – user2217057

Verwandte Themen