Angular ngrepeat-如何拥有包含无线电按钮的多个对象



我正在对客户端应用程序进行一些更新,但粘在某些绑定上。

有一些字段的表格,包括几个无线电按钮。

,例如

<div class="fields">
    <input ng-model="student.name" type="text" name="student_name" id="name" />
    <input ng-model="student.has_booked" type="radio" checked="checked" name="made_booking" id="made_booking_yes" value="1" />
</div>

该更新的请求是具有一个按钮,以第一种形式复制详细信息,并将其添加到一个数组中,其中详细信息可以用于另一个学生,因为它们通常相似。

要执行此操作,我有一个称呼此方法的按钮:

$scope.additionalStudents = []; // <-- for context of question
$scope.duplicateStudentDetails = function() {
    var firstStudent = angular.copy($scope.student);
    $scope.additionalStudents.push(firstStudent);
}

然后在我看来:

<div class="fields" ng-repeat="(key, student) in additionalStudents track by $index">
    <input ng-model="student.name" type="text" name="student_name" id="name" />
    <input ng-model="student.has_booked" type="radio" checked="checked" name="made_booking" id="made_booking_yes" value="1" />
</div>

我遇到的问题是该名称是独立更改的,但是复选框总是影响原始学生。我猜这是因为名称属性...

我该如何解决?

您的问题可能有两种解决方案。

如果您的情况只是为了显示状态而不更改预订状态

然后,删除name属性

如果要更改未来的预订状态

最好将具有不同名称的input of type checkbox

最新更新