我正在使用 ionic 框架来构建应用程序。在我的表单中,我需要重新填充动态 ng-model 输入字段。我引用“How to create Dynamic ng-model in Angular ”来创建动态 ng-model 字段。有用。但是当我尝试重新填充该字段时它不起作用(我需要执行 CRUD 操作)。
我的 HTML 部分是:
<div class="row header">
<div class="col col-40">Name</div>
<div class="col col-60">Marks</div>
</div>
<div class="row" ng-repeat="(key, user) in userList">
<div class="col col-40" ng-bind="user.name"></div>
<div class="col col-60">
<input type="text" name="actual_marks" ng-model="markscardData.actual_marks[user.user_id]" placeholder="Please enter the marks" />
</div>
</div>
我的 Controller 是这样的
.controller('MarkscardAddCtrl', function($scope, $stateParams, $state, $http, $ionicPopup, baseUrl)
{
$scope.markscardData = {};
$http.get(baseUrl+"api_method=markscard.getUserList&api_version=1.0&app_key=12345& course_id="+course+"&subject_id="+subject+"& markscard_id="+markscard).then(function(response){
$scope.userList = response.data.responseMsg;
});
})
$scope.userList 中的 JSON 值如下
[{"name":"Harshith","user_id":"249","actual_marks":"76","min_marks":"40","max_marks":"100"},{"name":"Nithin","user_id":"246","actual_marks":"60","min_marks":"40","max_marks":"100"},{"name":"Prathik","user_id":"247","actual_marks":"70","min_marks":"40","max_marks":"100"},{"name":"Ravee","user_id":"250","actual_marks":"80","min_marks":"40","max_marks":"100"},{"name":"Shivarama","user_id":"248","actual_marks":"90","min_marks":"40","max_marks":"100"}]
当表单在编辑模式下打开时,我需要重新填充markscardData.actual_marks[user.user_id],并且它也允许更新。请帮我解决这个问题。提前致谢。
最佳答案
我假设您在重新加载页面时丢失了数据。发生这种情况是因为动态 ng-models 实际上并未绑定(bind)在您的 Controller 中。 如果您想从收到的 JSON 加载实际标记,
for(var i in userList){
$scope.markscardData.actual_marks[userList[i].user_id] = userList[i].actual_marks;
}
将此行放在 $scope.userList = response.data.responseMsg;
下面。
如果适用的话,这应该初始化您的动态模型。
此外,您需要将这两个声明放在开头:
$scope.markscardData = {};
$scope.markscardData.actual_marks = [];
希望这对你有用..:)
关于javascript - 当使用 ionic 框架从 Angularjs 中的 ng-repeat 获取值时,如何重新填充动态 ng-model 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37453403/