所以我创建了一个SPA,用于显示数据库中的学生信息。我有添加学生的功能,显示具有特定视图的学生数据以及更新/删除学生记录。
我正在努力应对更新功能。我的问题是,当我在页面上的搜索框中键入学生ID时,我无法从服务器的JSON响应中提取该特定记录。我似乎无法找到正确写入的逻辑。
这是我的代码的一部分,对不起,如果我努力解释这个问题。我找不到任何其他与此问题有关的文章。
这是我正在使用的功能附加到我的HTML页面上的按钮,目前我只是设置它来拉出数组中的第一条记录(只是为了证明它将拉取数据并填充字段。< / p>
app.controller('editCtrl', function($scope, $http) {
$http.get("getStudentData.php")
.then(function (response) {
$scope.students = response.data;
});
$scope.getRecord = function() {
id = $scope.sid;
$scope.student = $scope.students[0];
这是我的HTML的一部分:
<div class="form-group">
<label for="sid">Student ID:</label>
<input type="text" class="form-control" id="sid" ng-model="sid">
</div>
<p><button type="button" class="btn btn-primary" ng-click="getRecord()">Get
Student Info</button> </p>
<div class='row'>
<div class="col-md-6">
<div class="form-group">
<label for="first_name">First Name:</label>
<input type="text" class="form-control" id="first_name" ng-
model="student.first_name">
</div>
<div class="form-group">
<label for="last_name">Last Name:</label>
<input type="text" class="form-control" id="last_name" ng-
model="student.last_name">
答案 0 :(得分:2)
将sid传递给您的函数,
<p><button type="button" class="btn btn-primary" ng-click="getRecord(sid)">Get
Student Info</button> </p>
然后在控制器中,使用array.find()来获取特定的学生
$scope.getRecord = function(sid) {
id = sid;
$scope.student = $scope.students.find(s=>s.id ==sid);
}