我正在对客户端Ionic应用程序进行一些更新,但仍坚持使用某些绑定。
有一个表单包含一些字段,包括几个单选按钮。
E.g。
<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>
我遇到的问题是名称是独立更改的,但复选框始终会影响原始学生。我猜这是因为名字属性......
我该如何解决这个问题?
答案 0 :(得分:1)
您的问题可能有两种解决方案。
如果您的情况只是为了显示状态而不是更改预订状态
然后,删除name
属性
如果您希望将来更改预订状态
最好让input of type checkbox
具有不同的名称