我正在寻找逻辑如何创建与其父元素一起选择的子元素之间的关系,以区分服务器以知道在特定父元素下选择了该选项。
例如在我的下一个问题中,我想知道在服务器端的父母(Andy,John或Murray)下选择了Math
。
我有以下代码
<li ng-repeat="student in Students">
<input type="checkbox" class="checkbox" id="{{student[0].Id + $index + $parent.$index}}"/>
<label for="{{student[0].Id+ $index + $parent.$index}}"><span class="Radiobox-txt" id="{{student[0].Name}}">{{student[0].Name}}</span></label>
<ul>
<li ng-repeat="subject in student.Subjects">
<input type="checkbox" id="{{subject.Id+ $index + $parent.$index}}" ng-model="subject.Checked" />
<label for="{{subject.Id+ $index + $parent.$index}}"><span id="{{subject.Name}}">{{subject.Name}}</span></label>
</li>
</ul>
</li>
上面的代码会生成如下所示的UI,并显示复选框选项:
Andy
Math
English
Computer
John
Math
English
Computer
Murray
Math
English
Computer
目前,以下是我的代码,其中我将所选孩子的Id推送到数组中。
可能我需要修改此代码以同时推送父ID以及子ID,因此在服务器上我可以知道关系但不确定是否连接parentId或其他方式。 想法好吗?
$scope.studentDetail.PermissionIds = [];
angular.forEach($scope.permissions, function (p) {
var selectedPermissions = $filter('filter')(p.Children, { Checked: true });
for (var i in selectedPermissions) {
$scope.studentDetail.PermissionIds.push(selectedPermissions[i].Id);
答案 0 :(得分:0)
使用student.id而不是student [0] .id。我猜这是独特的吗?
答案 1 :(得分:-2)
据我所知,在html中, id 必须是唯一的。我认为没有任何办法