我有一个数组供我选择:
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
答案 0 :(得分:2)
你应该工作,即:
<option *ngFor="#range of ranges" [value]="range.value">
select(selectedValue) {
console.log(selectedValue);
}
答案 1 :(得分:1)
我不得不使用[attr.value]使其与最新的Angular 2版本一起使用:
<option *ngFor="#range of ranges" [attr.value]="range.value">