这是html,当用户单击“编辑”时将显示表单
<div ng-repeat="item in items">
<input type="text" placeholder="{{item.questionPlaceholder}}" ng-model="form.g1tags[item.tags_index]" required>
<input ng-class="{'blockInput': !item.inlineChecked}" type="text" placeholder="enter text..." ng-model="form.g1tags_desc[item.tags_index]" required>
<input type="hidden" name="Group1" value="1">
</div>
<button class="addfields" ng-click="addG1Choice()">Add fields</button>
我的 Angular Controller 的完整功能
$scope.edit = function(id){
dataFactory.httpRequest('items/'+id+'/edit').then(function(data) {
//console.log(data);
$scope.form = data;
for(var key in data) {
var tags = data[key];
}
for(var i = 0; i < tags.length; i++){
tag = tags[i];
//console.log(tag['name']);
$scope.tags_index += 1;
$scope.items.push({
tags_index: $scope.tags_index,
tag_name: tag['name'],
inlineChecked: false,
question: "",
questionPlaceholder: tag['name'],
text: ""
});
$scope.form.g1tags = 'aaaaaaaaaaaaaaaaaaaaaaaaab';
console.log ($scope.form.g1tags);
}
});
}
文本字段只显示“aaaaaaaaaaaaaaaaaaaaaaaaab”的第一个字符,有人知道问题是什么吗?
最佳答案
因为您只访问 ng-repeat 中的第一个元素,所以从 ng-model 中删除 [item.tags_index]
<input type="text" placeholder="{{item.questionPlaceholder}}" ng-model="form.g1tags" required>
关于javascript - angularjs如何为动态文本字段分配值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40614155/