这是我的控制者:
$scope.inputs = [];
$scope.addInput = function () {
$scope.inputs.push({
id: $scope.inputs.length + 1,
});
};
$scope.removeInput = function (index) {
$scope.inputs.splice(index, 1);
};
我尝试这种方式,但没有工作:
<div ng-repeat="input in inputs">
<textarea id="activity"
name="project_budget_administration[<% input.id %>][activity]"
placeholder="Activity"
ng-model="project_budget_administration.activity_<% input.id %>"
ng-maxlength="100"
required></textarea>
</div>
对于textarea的name属性工作完美但对于ng-model - 不是。 我也试过这种语法ng-model =&#34; project_budget_administration.activity [input.id]&#34;而不是input.id我试过$ index,也没用。
答案 0 :(得分:0)
您可以使用javascript表达式动态命名ng-model
<div ng-repeat="input in inputs">
<textarea id="activity"
name="project_budget_administration[<% input.id %>][activity]"
placeholder="Activity"
ng-model="project_budget_administration['activity_' + input.id]"
ng-maxlength="100"
required></textarea>
从不同的答案中剔除 - http://jsfiddle.net/DrQ77/ - How can I set a dynamic model name in AngularJS?