gpt4 book ai didi

javascript - 更新angularjs中的现有元素ng-repeat列表?

转载 作者:行者123 更新时间:2023-11-30 12:20:21 25 4
gpt4 key购买 nike

我通过ng-repeat制作了任务表,表中的每个任务都可以修改。任务表将必须使用更新的任务进行更新。因此,为此我们需要访问特定的 ng-repeat 元素。我想知道如何访问特定的 ng-repeat 元素并使用新任务 ng-click=editTask() 更新它。

请看$scope.editTask,这里我想更新里面的$http.put(uri, data)

工作流程:

ng-click=beginTask(task) 打开对话框,在对话框中有ng-click=editTask(),它会通过$http.put...修改任务
请看DEMO

<tr ng-repeat="task in tasks"> 
<td>{{task.title}}</td>
<td>{{task.description}}</td>
<td>
<a class="btn" data-toggle="modal" ng-click="beginEdit(task)">Edit</a>
</td>
</tr>

Angularjs 代码

$scope.beginEdit=function(task){
$scope.title = task.title;
$scope.description=task.description;
$scope.done=task.done;
$scope.uri=task.uri;
$scope.index=$scope.tasks.indexOf(task);
$('#edit').modal('show');

};

$scope.editTask = function() {
title=$scope.title;
description=$scope.description;
done=$scope.done;
uri=$scope.uri;
$('#edit').modal('hide');
var i=$scope.index;
var data={title: title, description: description, done: done };

$http.put(uri, data)
.success(function(){
alert("Success");
});
};

最佳答案

请检查这个 - :http://plnkr.co/edit/lVkWEsAGVLTY7mGfHP5N?p=preview

添加

$scope.tasks[$scope.index] = data;

在编辑任务中

$scope.editTask = function(obj) {
alert($scope.title);
title = $scope.title;
description = $scope.description;
done = $scope.done;
uri = $scope.uri;
$('#edit').modal('hide');

var i = $scope.index;
var data = {
title: title,
description: description,
done: done
};
alert("uri" + uri);
alert(data.title);
$scope.tasks[$scope.index] = data; // For updating value
$http.put(uri, data)
.success(function() {
//tasks[i].uri(data.uri);

alert("Success");
});

};

关于javascript - 更新angularjs中的现有元素ng-repeat列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31308787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com