【发布时间】:2014-02-02 08:27:26
【问题描述】:
我试图在用户键入时获取 Kendo UI AutoComplete 的值,以便我可以将该查询发送到服务器以过滤结果。更改事件仅触发 onBlur 而不是 keyup/down/press。 data-value-change 绑定似乎也不适用于这种情况。
有没有办法在 ViewModel 中实现这一点?
请参阅下面的代码作为工作 jsFiddle here。 您会注意到数据值更改适用于普通输入,但不适用于自动完成。
<div id="view">
<input data-value-update="keyup"
data-bind="value: inputValue"
data-placeholder="text input" />
<input data-role="autocomplete"
data-placeholder="autocomplete"
data-value-primitive="true"
data-text-field="t"
data-bind="source: data, value: acValue" />
</div>
var viewModel = kendo.observable(
{
inputValue: '',
acValue: '',
data: new kendo.data.DataSource([
{name: 'John', age: 20 },
{name: 'John 1', age: 201 },
{name: 'John 2', age: 202 },
{name: 'John 3', age: 203 },
]),
onChange: function()
{
console.log('change');
}
});
viewModel.bind('change', function(e)
{
alert(e.field + ' changed to ' + this[e.field]);
});
kendo.bind($("#view"), viewModel);
【问题讨论】: