Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何将所选项目添加到角度中的另一个多重选择?_Angular_Typescript - Fatal编程技术网

Angular 如何将所选项目添加到角度中的另一个多重选择?

Angular 如何将所选项目添加到角度中的另一个多重选择?,angular,typescript,Angular,Typescript,如何将所选项目传递到另一个列表,以便以后可以使用最终的对象/数组 student.component.ts: students= []; studentsFinal = []; onGetStudents() { this.studentService.getStudents() .subscribe( (students: any[]) => this.students = students, (error) =>

如何将所选项目传递到另一个列表,以便以后可以使用最终的对象/数组

student.component.ts:

students= [];
studentsFinal = [];

onGetStudents() {
    this.studentService.getStudents()
          .subscribe(
          (students: any[]) => this.students = students,
          (error) => console.log(error),
        );
      }
student.component.html:

        <h5>Final student list</h5>
        <div class="col-xs-6">
            <select name="multiselect1" multiple class="form-control" name="myselecttsms1">
<option *ngFor="let studentFinal of studentsFinal" value="{{ studentFinal.Id 
}}">{{ studentFinal.Name }}</option>
            </select>
            <br>
        </div>

        <h5>Students</h5>
        <div class="col-xs-6">
            <select name="multiselect2" multiple class="form-control" name="myselecttsms2">
                <option *ngFor="let student of students" value="{{ student.Id }}">{{ student.Name }}</option>
            </select>
            <br>
        </div>
最终学生名单
{{studentFinal.Name}

学生 {{student.Name}

将[ngModel]添加到您的select和(ngModelChange)=“selectedStudents($event)”事件中

然后


{{student.Name}

基于问题和评论的完整示例:

将[ngModel]添加到您的select和(ngModelChange)=“selectedStudents($event)”事件中

然后


{{student.Name}

基于问题和评论的完整示例:

您能再解释一下您的问题吗?我不太明白你需要做什么。是的,当然。我的html中有两个选择项(1-学生姓名列表,2-指定学生)。两者都是多个选项,因此您可以选择多个项目。我有一个按钮,当我点击它时,我希望被选中的学生传递到另一个选择列表。这是一张图片:你能再解释一下你的问题吗?我不太明白你需要做什么。是的,当然。我的html中有两个选择项(1-学生姓名列表,2-指定学生)。两者都是多个选项,因此您可以选择多个项目。我有一个按钮,当我点击它时,我希望被选中的学生传递到另一个选择列表。这是一张图片:如何触发添加?它是自动触发的,我更新了答案以手动触发添加。我添加了assigne()方法以手动触发,但当我单击一个项目时,另一个列表会填充一个空白项目。哦,抱歉,您使用的是对象数组,这有点不同,我用object创建了一个简单的例子,并编辑了答案。没问题,谢谢你的帮助。对于双向“交流”,最简单的方式是什么?复制欧宝汽车时,我希望将其从第一个列表中删除,并能够复制到原始列表。如何触发添加?它是自动触发的,我更新了答案以手动触发添加。我添加了assigne()方法以手动触发,但当我单击某个项目时,另一个列表中填充了一个空白项。哦,对不起,您使用的是对象数组,这有点不同,我创建了一个简单的对象示例并编辑了答案。没问题,谢谢您的帮助。对于双向“交流”,最简单的方式是什么?当我复制欧宝汽车,我想删除它在第一个名单,并能够复制到原来的名单。
<select [ngModel]="assignedStudents" (ngModelChange)="selectedStudents($event)" name="multiselect2" multiple class="form-control">
    <option *ngFor="let student of students" [ngValue]="student">{{ student.Name }}</option>
</select>
temporaryArray = [];
selectedStudents(students){
   this.temporaryArray = students;
}

//called on button click
assigne(){
   this.assignedStudents = this.temporaryArray;
}
<select multiple class="form-control">
    <option *ngFor="let student of assignedStudents" [ngValue]="student">{{ student.Name }}</option>
</select>