获取ng-repeat Angularjs中的更新值

时间:2015-03-01 19:23:02

标签: javascript angularjs angularjs-ng-repeat ng-repeat

我正在使用ng-repeat,它从我的数据库获取值并放入它。现在我将这些值插入到我更新的输入文本中。现在我有一个保存按钮,用于保存更新的值。按下保存按钮时,我没有收到更新的值。请指导我完成这个。

<div ng-controller="education" ng-init="getEducationDetails();">
    <div class="col-md-12">
                    <div class="row" ng-repeat="values in education"
                        style="margin-left: 20px; margin-right: 20px; margin-top: 10px;">
                        <div class="col-md-6">
                            <h4>
                                <small>Degree</small>
                            </h4>
                            <input type="text" id="educationDegree" name="educationDegree"
                                value="{{values.education_degree}}" style="width: 90%;" />
                        </div>
                        <div class="col-md-6">
                            <h4>
                                <small>Year</small>
                            </h4>
                            <input type="text" id="educationYear" name="educationYear"
                                value="{{values.education_year}}" style="width: 100%;" />
                        </div>
                        <div class="col-md-12" style="margin-top: 10px;">
                            <h4>
                                <small>University</small>
                            </h4>
                            <input type="text" id="educationUniversity"
                                name="educationUniversity"
                                value="{{values.education_university}}" style="width: 100%;" />
                        </div>
                    </div>
                </div>
                <div class="col-md-12" style="margin: 20px;">
                    <button ng-click="educationSave();" class="btn btn-default">Save</button>
                </div>
</div>

educationSave()我保存值。但是当我在educationSave()方法中获得教育数组时,我得到了旧数组。在调整一些输入类型后,如何获得更新的数组

以下是我获取值的方法:

$scope.getEducationDetails = function()
            {
                $http({
                    method : 'GET',
                    url : '/getEducationDetails'
                }).success(function(data, status, headers, config) {
                        $scope.education = data.resultSet;
                        alert($scope.education);
                }).error(function(data, status, headers, config) {
                });
            };

这是我的控制器方法:

    $scope.educationSave = function() {
        var educationArray = JSON.stringify($scope.education);
        //I then save this educationArray
    };

1 个答案:

答案 0 :(得分:1)

问题是您没有使用ng-model将实际输入值绑定到控制器。来自documentation

  

HTML输入元素控件。与ngModel一起使用时,它提供数据绑定,输入状态控制和验证。

在每个input的标记中尝试类似的内容:

<input type="text" id="educationDegree" name="educationDegree"
                            ng-model="values.education_degree" style="width: 90%;" />

Demo