【发布时间】:2013-02-13 20:13:19
【问题描述】:
我使用 Kendo-Knockout。
我正在尝试让自动完成功能绑定到远程数据。 使用http://rniemeyer.github.com/knockout-kendo/web/AutoComplete.html 的基本示例,我尝试了以下方法。但是,在输入失去焦点之前,搜索不会更新。
"search" 仅在 observableArray 中已经 查找某些内容。
Kendo Autocomplete 提供的唯一事件是“change”,它只会在输入失去焦点后再次触发。
您将如何拦截按键,并访问 search() 的值以便进行远程调用?
此外,一旦项目被选中,您将如何访问 'id' 的值?
谢谢 杰里米
<strong><p style="margin-top: 100px;" data-bind="text: search"></p></strong>
<input data-bind="kendoAutoComplete: { data: choices, value: search,
dataTextField: 'name', valueUpdate: 'afterkeydown' }" />
<script type='text/javascript'>
$(function () {
var myViewModel = function () {
var self = this;
this.choices = ko.observableArray([
{ id: "1", name: "apple" },
{ id: "1", name: "apple2" },
{ id: "1", name: "apple3" },
{ id: "2", name: "orange" },
{ id: "3", name: "banana" }
]);
this.selectedChoice = ko.observable();
self.search = ko.observable();
self.search.subscribe(function() {
console.log(self.search());
// would send search to $.ajax to get the remote data
});
};
ko.applyBindings(new myViewModel());
});
【问题讨论】:
标签: knockout.js kendo-ui