Angularjs如何给动态文本域赋值
angularjs how to assign a value to a dynamic textfield
这是html,当用户点击"edit"时,表单将显示
<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>
我的角控制器的全部功能
$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);
}
});
}
文本字段只显示' aaaaaaaaaaaaaaaaaaaaaaaaaaaaab '的第一个字符,有人知道是什么问题吗?
这是因为您只访问ng-repeat中的第一个元素,从ng-model中删除[item.tags_index]
<input type="text" placeholder="{{item.questionPlaceholder}}" ng-model="form.g1tags" required>
在您的控制器中,您分配g1tags一个字符串值:
$scope.form.g1tags = 'aaaaaaaaaaaaaaaaaaaaaaaaab';
在你的视图中,你访问它就好像它是一个集合
form.g1tags[item.tags_index]
这是行不通的——如果你需要g1tags来保存多个值,你应该创建一个数组:
$scope.form.g1tags = [];
//And then in your for loop:
$scope.form.g1tags.push('aaaaaaaaaaaaaaaaaaaaaaaaab');
相关文章:
- Javascript变量赋值|
- 如何将具有文本类型值的var放入jQuery函数中
- 无法为打字稿字典赋值
- Javascript-根据赋值顺序,按键合并对象数组
- 如何在剑道下拉列表中按文本和值搜索
- Javascript:应为赋值或函数调用,但实际看到的却是表达式
- 如何通过json对象数组为嵌套对象赋值
- CSS/HTML:更改文本的值并在悬停时从中心展开
- 使用javascript将两个文本框值相加到表中的另一个文本框中
- 如何通过单击按钮为文本框赋值
- 使用 jquery 为 gridview 文本框赋值
- 在Submit上为隐藏文本区域赋值
- html使用javascript为输入文本赋值是不起作用的
- 在选择时为php的更改文本框赋值
- Angularjs如何给动态文本域赋值
- 异步地将一个文本文件赋值给Javascript中的一个变量
- 从组合框和文本输入字段中为另一个组合框赋值
- 简单修改AJAX脚本,将返回的输出赋值,而不是打印到文本框中
- 文本装饰的左侧赋值错误
- 使用jQuery从文本变量中给组合框赋值