【问题标题】:bootstrap multiselect get value with Angular 2使用Angular 2引导多选获取价值
【发布时间】:2016-05-08 06:24:34
【问题描述】:

我想在我的多选下拉列表中获取所选选项的值。 但我没有通过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>

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

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

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

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

【问题讨论】:

    标签: twitter-bootstrap angular bootstrap-multiselect


    【解决方案1】:

    目前似乎还不支持多选,见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)
      }
    }
    

    Plunker

    【讨论】:

    • 这对我不起作用..就像选项的 ngFor 也不起作用一样。我将在下一条评论中发布我的代码以便更好地查看
    • {{selectedOptions | json}}

    • onChange(options) { console.log('chekc'); this.selectedOptions = Array.apply(null,options) .filter(option => option.selected) .map(option => option.value); console.log(this.selectedOptions); }
    • onChange 方法没有被触发,你可以看到我用日志检查了它
    • @Beginnerprogrammer,您使用的引导库可能添加/注册了自己的 onchange 事件处理程序,它取代了 Angular 事件处理程序。看看是否有办法将你自己的逻辑添加到他们的处理程序中。
    猜你喜欢
    • 1970-01-01
    • 2019-05-08
    • 2013-12-29
    • 2016-05-02
    • 2020-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多