Как вы собираетесь редактировать массив объектов, привязанных к таблице, с помощью ng-repeat?
У меня есть следующий начальный массив.
var students = [{
"FName": "Tom",
"LName": "Wilcox"
}, {
"FName": "Kevin",
"LName": "Johnson"
}, {
"FName": "Annebelle",
"LName": "Smith"
}, {
"FName": "Kelly",
"LName": "Masters"
}, {
"FName": "Phillip",
"LName": "Smith"
}, ];
Затем я помещаю двух учеников во второй массив и добавляю новое свойство «Оценка» следующим образом:
var testTakers = [];
var s;
for (s = 0; s < students.length; s++) {
if (students[s].LName == "Smith") {
students[s].Grade = ""; // New Grade Property
testTakers.push(students[s]);
}
}
$scope.TestTakers = testTakers;
Я добавляю новое свойство «Оценка» к двум выбранным объектам и привязываюсь к таблице с помощью ng-repeat. Свойство Grade привязано к текстовому полю для редактирования.
<table class="table-striped">
<tbody>
<tr ng-repeat="student in TestTakers">
<td class="col-md-2">{{student.FName}}</td>
<td class="col-md-2">{{student.LName}}</td>
<td class="col-md-2">
<input type="text" size="2em" ng-bind="Grade" style="text-align:center" />
</td>
</tr>
</tbody>
Когда я ввожу оценки в текстовые поля, Angular не сохраняет эти значения. Моя цель — добавить оценки к двум новым объектам ученика, а затем отправить их обратно на сервер.
Работающий образец Plunker находится здесь. Заранее благодарю за любую помощь в этом!