如何在angular 6中获取ngSelect下拉列表的选定文本和选定值
发布表单时,我希望在angular 6中的ngSelect下拉列表中获得所选项目的名称和值 我曾尝试使用ngModel和templateVariable获取它,但并没有返回选定的名称,我只设法获取选定的值如何在angular 6中获取ngSelect下拉列表的选定文本和选定值,angular,angular-ngselect,Angular,Angular Ngselect,发布表单时,我希望在angular 6中的ngSelect下拉列表中获得所选项目的名称和值 我曾尝试使用ngModel和templateVariable获取它,但并没有返回选定的名称,我只设法获取选定的值 <ng-select name="testFunctionID" [items]="testFunctions" [multiple]="false" bindLabel="name" bindValue="testFunctionID" [(ngModel)]="model
<ng-select
name="testFunctionID"
[items]="testFunctions"
[multiple]="false"
bindLabel="name"
bindValue="testFunctionID"
[(ngModel)]="model.testFunctionID">
</ng-select>
对于下拉列表{Mumbai:1},{Pune:2},{Delhi:3},如果我选择Pune,那么我应该得到“Pune”和“2”作为输出json。我以前没有使用过该包,但基于你的问题,我很好奇,我想我有一个答案给你 如果您看这里,它在API输入部分指出
bindValue—用于选定模型的对象属性。默认情况下,绑定到整个对象。
因此,我猜想如果省略bindValue属性,您将拥有整个对象,而不仅仅是Id
还注意到,有一个事件,你可以钩到
(更改)-在模型更改时触发。输出整个型号
问题作者指出,无法使下面的内容起作用
所以你可以这样做
<ng-select
name="testFunctionID"
[items]="testFunctions"
[multiple]="false"
bindLabel="name"
bindValue="testFunctionID"
[(ngModel)]="model.testFunctionID"
(change)="model.testFunctionName = $event.name">
</ng-select>
假设您希望在模型上设置name属性以及Id。您的观察结果会有所帮助。除去“bindValue”,我可以得到所选项目的完整对象。虽然第二种解决方案不起作用。@MausamMalviya很高兴听到它。我对答案进行了编辑,以表明第二种解决方案不适合您。可能有一些方法可以让它工作,我只是没有使用正确的语法是我的猜测。但我想留下它,以防它在将来引发其他人的想法。@ccamac您的第二个解决方案也可以。在我的例子中,我需要绑定到id而不是对象,但仍然需要获取标签来更新另一个字段,并且能够成功地使用(更改)事件。谢谢