我有一张充满数据的表格; 我有一个删除行的按钮, 我有输入字段显示来自表格中所选行的数据。
首先我必须选择该行...然后输入字段r
填充来自同一行的数据....一旦我完成了,我可以按删除...并且行被删除...现在已经选中了已删除行下面的行...(我可以更改为不是)...但已删除行中的旧值仍在输入字段中...
现在我必须做点什么...... 2个选项:
将所选行设置为null,并清除所有输入字段...(我不知道该怎么做...)
使用新选择的行并将其数据填入输入字段......在我看来,这是更好的方式...
所以请帮助我,这是代码:
在我的html文件中,我有这个:
<p>ID</p>
<input ng-model="student.id">
<p>Name</p>
<input ng-model="student.firstname">
<p>Last Name</p>
<input ng-model="student.lastname">
<button ng-click="deleteStudent(student)">Delete Student</button>
<table name="tableStud" arrow-selector>
<tbody>
<tr>
<td>ID</td>
<td>First Name</td>
<td>Last Name</td>
<td>From</td>
</tr>
<tr ng-repeat="student in result"
ng-class="{'selected':$index == selectedRow}"
ng-click="setSelected(student,$index)">
<td>{{ student.id }}</td>
<td>{{ student.firstname }}</td>
<td>{{ student.lastname }}</td>
<td>{{ student.mestorodjenja.ime }}</td>
</tr>
</tbody>
</table>
我有一个控制器....用这个:
$scope.deleteStudent = function(student) {
$http.post('http://localhost:8080/CreditCardWEB/rest/cc/delete',
student).success(function(data) {
$scope.result.splice($scope.selectedRow, 1);
});
};
$scope.selectedRow = null;
$scope.setSelected = function(student, index) {
$scope.student = student;
$scope.selectedRow = index;
};
答案 0 :(得分:0)
我认为如果你添加一行来设置selectedRow并且学生在后期成功时为空是一个好的开始。
$http.post('http://localhost:8080/CreditCardWEB/rest/cc/delete',
student).success(function(data) {
$scope.result.splice($scope.selectedRow, 1);
$scope.selectedRow = null;
$scope.student = null;
});
除此之外,如果selectedRow不为空,我建议您只显示表单。
这样的事情:
<div ng-show="selectedRow !== null">
<p>ID</p>
<input ng-model="student.id">
<p>Name</p>
<input ng-model="student.firstname">
<p>Last Name</p>
<input ng-model="student.lastname">
<button ng-click="deleteStudent(student)">Delete Student</button>
</div>
答案 1 :(得分:0)
您可以在删除后更新学生:
$scope.result.splice($scope.selectedRow, 1);
$scope.student = $scope.result[0];
或者,如果您只想更新一些属性,例如firstname: $ scope.student.firstname = $ scope.result [0] .firstname;