从动态复选框列表中获取值

时间:2017-02-18 13:11:15

标签: angular typescript checkbox ionic2

查看我的 html

<ion-item ion-item *ngFor="let item of items">
    <ion-label>{{ item.name }}</ion-label>
    <ion-checkbox color="secondary"></ion-checkbox>
</ion-item>

我的 .TS

this.database.executeSql("SELECT * FROM check_item", []).then((data) => {
        this.items = [];
        if (data.rows.length > 0) {
            for (var i = 0; i < data.rows.length; i++) {
                this.items.push({ id: data.rows.item(i).id, name: data.rows.item(i).name });
            }
        }
    }, (error) => {
        console.log("ERROR: " + JSON.stringify(error));
    });

我想从复选框中检索值并将其保存到tablela中。如何从动态复选框列表中获取值?

1 个答案:

答案 0 :(得分:3)

<ion-item ion-item *ngFor="let item of items;let i=index">
    <ion-label>{{ item.name }}</ion-label>
    <ion-checkbox [(ngModel)]="checkedItems[i]" color="secondary"></ion-checkbox>
</ion-item>

其中checkedItems是一个与items大小相同的数组,您需要准备和初始化。

checkedItems:boolean[];

constructor() { // or whereever `items` is initialized
  this.items = ...
  this.checkedItems = new Array(this.items.length);
}