gpt4 book ai didi

javascript - 使用嵌套 ng-repeat 和动态 ng-model 作为对象

转载 作者:行者123 更新时间:2023-11-28 04:43:55 25 4
gpt4 key购买 nike

好吧,让我说实话,因为我是 Angular 初学者,我不知道如何提出这个问题,我会尽力解释这个问题。

图1: enter image description here

正如您在上图中看到的,我有一个类列表,每个类下面没有任何部分。您可以在每行上看到一个蓝色按钮,单击该按钮我需要知道选择了哪个“部分”。

这是问题陈述。

现在这是我的 HTML

<table class="table table-hover">
<tbody>
<tr>
<th>Syllabus</th>
<th>{{phrase.className}}</th>
<th>Select Section</th>
<th>{{phrase.Operations}}</th>
</tr>
<tr ng-repeat="class in classes| filter:searchText">
<td id="syl">
<span ng-repeat="(sid, syllabi) in syllabus" ng-if="sid == class.classAcademicYear">
{{ syllabi.yearTitle}}
</span>
</td>
<td id="cls">{{class.className}}</td>
<td id="sec">
<div class="form-group">
<select class="form-control" name="student_section" ng-model="selectedSection">
<option ng-selected='class.sections[$index].id' ng-repeat="(key, section) in class.sections" value="{{section.id}}">{{section.sectionName}}</option>
</select>
</div>
</td>
<td id="vew">
<button ng-click="edit(class.id)" type="button" class="btn btn-info btn-flat" title="{{phrase.ReadSchedule}}" tooltip><i class="fa fa-fw fa-th-list"></i></button>
</td>
</tr>
<tr ng-show="!classes.length">
<td class="noTableData" colspan="3">{{phrase.NoClasses}}</td>
</tr>
</tbody>
</table>

这里我们看到一个 nseted ng-repeat,其中我根据类列表创建表行,现在这个类对象还保存了内部的section对象,正如你可以看到内部ng-repeat使用classes.sections来迭代选项

现在classes json对象如下所示

[{
"id": 11,
"className": "Class-1 (STATE)",
"classAcademicYear": 2,
"classSubjects": "[\"1\",\"2\",\"3\",\"4\",\"5\",\"6\"]",
"dormitoryId": null,
"sections": [{
"id": 11,
"sectionName": "Section -1 (STATE)",
"sectionTitle": "section title -1",
"classId": 11,
"teacherId": "[\"10\",\"11\",\"12\",\"13\",\"14\",\"15\"]"
}]
}, {
"id": 12,
"className": "Class-2",
"classAcademicYear": 2,
"classSubjects": "[\"0\"]",
"dormitoryId": null,
"sections": [{
"id": 12,
"sectionName": "Section -1",
"sectionTitle": "section title -1",
"classId": 12,
"teacherId": "[\"0\"]"
}]
}, {
"id": 13,
"className": "Class-3",
"classAcademicYear": 2,
"classSubjects": "[\"0\"]",
"dormitoryId": null,
"sections": [{
"id": 13,
"sectionName": "Section -1",
"sectionTitle": "section title -1",
"classId": 13,
"teacherId": "[\"0\"]"
}]
}, {
"id": 14,
"className": "Class-4",
"classAcademicYear": 2,
"classSubjects": "[\"0\"]",
"dormitoryId": null,
"sections": [{
"id": 14,
"sectionName": "Section -1",
"sectionTitle": "section title -1",
"classId": 14,
"teacherId": "[\"0\"]"
}]
}]

我想做的是为动态的内部选择下拉元素设置一个 ng-model ,如下所示,这样每次选择该部分时,我都可以将蓝色按钮操作设置为任何部分 id。

ng-model="selectedSection[class.id]"

这不起作用。

我知道这可能不是足够的信息,但如果有人有兴趣帮助我解决这个问题,我可以分享更多详细信息。

最佳答案

要检查选择了哪个 ng-repeat 行,您应该发送值 $index 和 $parent.$index (如果您有嵌套的 ng-repeat)。

<button ng-click="edit($index, $parent.$index)" type="button">

有帮助吗?

关于javascript - 使用嵌套 ng-repeat 和动态 ng-model 作为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43546442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com