Это мой контроллер:
$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>
Для атрибута name textarea работает отлично, но для ng-модели - нет. Также я попытался с этим синтаксисом ng-model = "project_budget_administration.activity [input.id]", а вместо input.id я попробовал $ index, также не работал.
Вы можете использовать выражения 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/ - Как установить динамическое имя модели в AngularJS?
<% %>
не являются допустимыми угловыми тегами, и я не понимаю, почему$index
илиitem
будут работать - так как они не определены?