使用AngularJS从数组中提取特定记录

时间:2018-04-29 18:02:35

标签: javascript php mysql angularjs

所以我创建了一个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">

1 个答案:

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