bootstrap multiselect使用Angular 2获取值

Sir*_*ini 0 twitter-bootstrap bootstrap-multiselect angular

我想在多选下拉列表中获取所选选项的值.但是我没有完成这件事ngModel..

这里的html:

 <div class="col-xs-offset-1 col-xs-3">
    <form class="btn-group" id="select-form">
        <select id="dropdown-list" multiple="multiple" [(ngModel)]="selectedObject"></select>
       <button type="reset" id="reset-button" class="btn btn-default"><span class="glyphicon glyphicon-refresh"></span></button>
    </form>
</div>
Run Code Online (Sandbox Code Playgroud)

这里是for循环,它将选项附加到选择:

ngOnInit() {
    for(var i = 0; i < this.checks.length; i++){
        var append = this.checks[i];
        $('#dropdown-list').append('<option>'+ append.name +'</option>');
    }
Run Code Online (Sandbox Code Playgroud)

这是因为ngFor这里不起作用..但在这种情况下,这不是我的问题.

有人可以帮我记录所选的 options = [(ngModel)]="selectObject"

Mar*_*cok 6

似乎还不支持多选,请参阅https://github.com/angular/angular/issues/4427.

这是一种解决方法(不使用查询选择器):

@Component({
  selector: 'my-app',
  template: `{{title}}<p>
  <select multiple="multiple" (change)="change($event.target.options)">
    <option *ngFor="#item of items">{{item}}</option>
  </select>
  <p>{{selectedOptions | json}}`
})
export class AppComponent {
  title = "Angular 2 beta - multi select list";
  items = 'one two three'.split(' ');
  constructor() { console.clear(); }
  change(options) {
    this.selectedOptions = Array.apply(null,options)  // convert to real array
      .filter(option => option.selected)
      .map(option => option.value)
  }
}
Run Code Online (Sandbox Code Playgroud)

Plunker