在更改事件中获取选定的选项值

时间:2016-10-10 15:12:05

标签: aurelia aurelia-binding

我有dropdown,其中包含以下属性:

<select value.bind="row.columns[$parent.$index].colSize" change.delegate="changeColumnSize($parent.$index, $index, row.columns[$parent.$index].colSize)">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
</select>

但似乎我无法将row.columns[$parent.$index].colSize作为参数传递。它总是undefined

如何将选定的下拉列表值直接传递给change事件方法?

1 个答案:

答案 0 :(得分:18)

您在选择选项中缺少value.bind。我更喜欢使用mode.bind而不是value.bind。尝试这样的事情:

<template>
    <select value.bind="changedValue" change.delegate="DropdownChanged(changedValue)">
        <option model.bind="1">1</option>
        <option model.bind="2">2</option>
        <option model.bind="3">3</option>
        <option model.bind="4">4</option>
    </select>
</template>



export class App {
  changedValue;


  DropdownChanged(changedVal) {
    alert(changedVal);
  }

}

我不确定你要将select绑定到什么,但基本上你想要创建一个可以绑定所选值的变量。因此,所选值将设置为changedValue的变量。我喜欢使用model.bind因为我可以绑定true / false值而不是所有字符串。

如果需要,我已经为你使用了一个运行的要点: https://gist.run/?id=87f6897928feb504dad638d439caf92f