当前位置: 首页 > 知识库问答 >
问题:

我如何在角2的“选择”中获得新的选择?

马奇略
2023-03-14
<select [(ngModel)]="selectedDevice" (change)="onChange($event)">
   <option *ngFor="#i of devices">{{i}}</option>
</select>
onChange($event) {
    console.log(this.selectedDevice);
    // I want to do something here with the new selectedDevice, but what I
    // get here is always the last selection, not the one I just selected.
}

共有1个答案

段干长恨
2023-03-14

如果不需要双向数据绑定:

<select (change)="onChange($event.target.value)">
    <option *ngFor="let i of devices">{{i}}</option>
</select>

onChange(deviceValue) {
    console.log(deviceValue);
}

对于双向数据绑定,请将事件绑定和属性绑定分开:

<select [ngModel]="selectedDevice" (ngModelChange)="onChange($event)" name="sel2">
    <option [value]="i" *ngFor="let i of devices">{{i}}</option>
</select>
export class AppComponent {
  devices = 'one two three'.split(' ');
  selectedDevice = 'two';
  onChange(newValue) {
    console.log(newValue);
    this.selectedDevice = newValue;
    // ... do other stuff here ...
}

如果devices是对象数组,则绑定到ngvalue而不是value:

<select [ngModel]="selectedDeviceObj" (ngModelChange)="onChangeObj($event)" name="sel3">
  <option [ngValue]="i" *ngFor="let i of deviceObjects">{{i.name}}</option>
</select>
{{selectedDeviceObj | json}}
export class AppComponent {
  deviceObjects = [{name: 1}, {name: 2}, {name: 3}];
  selectedDeviceObj = this.deviceObjects[1];
  onChangeObj(newObj) {
    console.log(newObj);
    this.selectedDeviceObj = newObj;
    // ... do other stuff here ...
  }
}
 类似资料:
  • 以下代码起作用: 如何将第二行重构为: 您对所选的******选项使用了什么?

  • 此组件来自https://github.com/skratchdot/react-bootstrap-multiselect handleChange()函数中应该写什么?

  • 问题内容: 我将selenium1的代码转换为selenium2,找不到在下拉菜单中选择标签或获得下拉菜单的选定值的简便方法。您知道在Selenium 2中如何做吗? 这是两个在Selenium 1中起作用但不在2中起作用的语句: 问题答案: 查看硒文档中有关使用webdriver 填写表单的部分以及Select类的javadoc 。 要基于标签选择一个选项: 要获得第一个选定的值:

  • 我试图弄清楚如何在显示时选择一个选项,使用旧的javascript风格代码或其他语言,例如: 在angularjs中尝试这样做时,我最终得到了类似下面所示的东西。 这是代码: 如何才能正确地执行此操作?

  • 问题内容: 我有一个与此类似的布局: 并想用一个jQuery选择器选择子内的点击。 要获得,我有以下选择器: 如何使用选择器让孩子? 问题答案: jQuery构造函数接受名为的第二个参数,该参数可用于覆盖选择的上下文。 就像这样使用: 如果您想要的img 仅是clicked元素的直接后代,则还可以使用:

  • 我想计算选择属性中的选项,但我的测试失败了,这是我的规范: 它给了我错误: C:\wamp\www\First-angular-App