Angular 2在更改时获得<option>的值

时间:2016-04-14 15:12:43

标签: select angular

我有一个数组供我选择:

private ranges = [
  { text: "Last 30 days", value: 30 },
  { text: "Last 60 days", value: 60 },
  { text: "Last 90 days", value: 90 },
  { text: "Last 365 days", value: 365 },
  { text: "All", value: '' }
];

并选择:

<select id="ActivityRange" #sel (change)='select(sel.value)'>
  <option *ngFor="#range of ranges" [value]="range.value">
   {{range.text}}
  </option>
</select>

并尝试获取更改时的选择值(“过去30天”为“30”),但我得到文本值(“过去30天”而不是“30”)

 select(selectedValue) {
   console.log(selectedValue);
 }

以下是plunk

2 个答案:

答案 0 :(得分:2)

你应该工作,即:

<option *ngFor="#range of ranges" [value]="range.value">
select(selectedValue) {
   console.log(selectedValue);
}

Plunker

答案 1 :(得分:1)

我不得不使用[attr.value]使其与最新的Angular 2版本一起使用:

 <option *ngFor="#range of ranges" [attr.value]="range.value">