无法从离子下拉菜单中获得所选值

时间:2019-01-28 07:01:57

标签: typescript ionic-framework ionic2 ionic3

我正在尝试获取选定选项的值,但我正在获得未定义的值。这是html部分:

               分钟         天         周         项目            

这是类型脚本部分:

    unitMetric(mySelect) {
    console.log("Selected:",mySelect);
  }

2 个答案:

答案 0 :(得分:0)

似乎您正在使用Ionic 1。 将您的代码更改为此:

<select ng-Model="selectedUnit" ng-change="unitMetric(selectedUnit)" > 
    <option value="minutes">Minutes</option>
    <option value="days">Days</option>
    <option value="weeks">weeks</option>
    <option value="item">Item</option>
  </select>
</ion-label>

必须在您的selectedUnit文件中声明ts。 然后在控制器中:-

$scope.unitMetric= function(mySelect) {
    console.log(mySelect);
}

希望对您有所帮助! 祝您编码愉快!

答案 1 :(得分:0)

在Ionic 2/2 +中,您应该使用[(ngModel)]

  <select [(ngModel)]="selectedUnit" (change)="unitMetric(selectedUnit)" >
    <option value="minutes">Minutes</option>
    <option value="days">Days</option>
    <option value="weeks">weeks</option>
    <option value="item">Item</option>
  </select>

要选择分钟为default option,请在组件中使用以下代码。

export class TestCompoent {

  selectedUnit: string;

  constructor() {
    this.selectedUnit = 'minutes';
  }

  unitMetric(mySelect){
    console.log("Selected:",mySelect);
  }
}

查看我的stackblitz demo