【发布时间】:2015-10-05 23:09:51
【问题描述】:
我正在尝试创建一个可编辑的组合框。 这是我写的 HTML:
<select data-bind='options: possibleOptions, value: selectedOption' onchange='this.nextElementSibling.value = this.value'></select>
<input type='text' name='format' data-bind='value: selectedOption, valueUpdate:[\"afterkeydown\", \"click\", \"input\", \"change\"]' />
在http://jsfiddle.net/nwH8A/ 的帮助下。
所以发生的事情是,当我手动输入文本输入时, selectedOption 会正确更新。但是当我从下拉列表(possibleOptions)中选择一个选项时,除非我单击文本框,否则 selectedOption 的值不会更新。基本上我要做的是允许用户手动输入文本以及从下拉列表中选择并相应地更新 selectedOption 的值。
我是否需要将任何事件添加到 valueUpdate 事件列表中,或者是否有其他方法来完成结果?
我正在处理打字稿文件。
谢谢。
【问题讨论】:
-
尝试使用
event数据绑定而不是onchange触发器属性。绝对不要惹this.value。 -
把KO加到你的fiddle上会更容易玩。
标签: knockout.js data-binding typescript