AngularJS - 在按钮单击时更新动态表中输入框的值

时间:2016-03-30 19:24:12

标签: angularjs angularjs-ng-repeat ng-repeat angularjs-ng-click

在检查了各种Stackoverflow资源之后,看起来我仍然无法弄清楚Angular这样做的方法。 HTML表格只有一个Id列和另一个文本列(输入框),通过ng-repeat动态填充。然后我为显示内部输入框的每个单独记录提供“更新”和“删除”功能/按钮。 '删除'功能似乎没问题,在'删除'按钮上单击我只是将ID作为参数传递给函数。使用'update'click事件,我不知道如何将输入框的值作为第二个参数传递给函数。请参阅下面的简化标记和代码。

<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>

和控制器

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
        });
}

});

感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

ng-model等输入字段上使用ng-model="rec.Name",通过有角度的双向绑定功能更新rec.Name。然后通过ng-model&#39; s {{1更新函数 OR 而不是仅仅在函数调用上传递rec.Name对象,以使其更简单。

<强>标记

rec