Angularjs 在ng repeat中填充另一个的dropdownlist onchange事件

Angularjs 在ng repeat中填充另一个的dropdownlist onchange事件,angularjs,ng-repeat,Angularjs,Ng Repeat,如何做到这一点 上述网格是使用ng repeat 我想当一个特定行上的主题被选中时,它会填充同一行上的教师下拉列表 教师XML: <ArrayOfTeacherToSubject xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/DTO"> <TeacherToSubject> <ClassName i:nil="tr

如何做到这一点

上述网格是使用
ng repeat

我想当一个特定行上的主题被选中时,它会填充同一行上的教师下拉列表

教师XML:

<ArrayOfTeacherToSubject xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/DTO">
<TeacherToSubject>
<ClassName i:nil="true"/>
<ClassToClassArmId i:nil="true"/>
<ModifiedBy i:nil="true"/>
<ModifiedOn i:nil="true"/>
<SchoolId>0</SchoolId>
<StaffId>20</StaffId>
<StaffName>David Jumma</StaffName>
<SubjectId>4</SubjectId>
<SubjectName i:nil="true"/>
<TeacherToSubjectId i:nil="true"/>
</TeacherToSubject>
<TeacherToSubject>
<ClassName i:nil="true"/>
<ClassToClassArmId i:nil="true"/>
<ModifiedBy i:nil="true"/>
<ModifiedOn i:nil="true"/>
<SchoolId>0</SchoolId>
<StaffId>20</StaffId>
<StaffName>David Jumma</StaffName>
<SubjectId>6</SubjectId>
<SubjectName i:nil="true"/>
<TeacherToSubjectId i:nil="true"/>
</TeacherToSubject>
<TeacherToSubject>
<ClassName i:nil="true"/>
<ClassToClassArmId i:nil="true"/>
<ModifiedBy i:nil="true"/>
<ModifiedOn i:nil="true"/>
<SchoolId>0</SchoolId>
<StaffId>20</StaffId>
<StaffName>David Jumma</StaffName>
<SubjectId>3</SubjectId>
<SubjectName i:nil="true"/>
<TeacherToSubjectId i:nil="true"/>
</TeacherToSubject>
</ArrayOfTeacherToSubject>

0
20
大卫·朱玛
4.
0
20
大卫·朱玛
6.
0
20
大卫·朱玛
3.

ng repeat为每次迭代创建一个新的作用域,因此您可以使用两个控件都在同一作用域下的事实来选择教师

我想你希望在教师选择中有这样的东西:

teacher.key as teacher.name for teacher in teachers[subject.id]
1) 为每行创建具有独立作用域的指令

2) 将“主题选择”与范围项绑定
ng model=“subjectSelected”

3) 在指令的控制器内,将手表添加到此模型

$scope.$watch('subjectSelected', function(newVal, oldVal){
    //
});
4) 在上一个函数中,将新数组分配给对象
$scope.options

<select ng-model="$parent.contactTypeHomeHost" ng-options="option.id as option.label for option in options"></select>
5) 要绑定到视图,可以使用指令
ng options

<select ng-model="$parent.contactTypeHomeHost" ng-options="option.id as option.label for option in options"></select>


你好。你能举个例子吗?你能不能提供更多的信息,而不仅仅是“它不起作用”?我使用指令为每一行创建了一个独立的作用域,并添加了一个
$watch
,以了解主题何时更改以填充
$watch
函数中的教师下拉列表。你能举例说明吗?我尝试了你的示例,但它不起作用。主题和教师下拉列表都绑定到web api调用。我编辑并添加了教师web api调用的结果。我在问题中添加了xml。我的意思是你能像我一样在plnkr.com上设置示例吗?所以我可以清楚地看到问题是什么。