1

我使用剑道淘汰赛。

我试图让自动完成绑定到远程数据。使用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());
});

4

2 回答 2

2

可以这样做:

<input data-bind="kendoAutoComplete: { 
                    data: {}, 
                    minLength: 3, 
                    dataTextField: 'Name',
                    dataSource: {
                        type: 'odata',
                        serverFiltering: true,
                        serverPaging: true,
                        pageSize: 20,
                        transport: {
                            read: 'http://odata.netflix.com/Catalog/Titles'
                        }
                    }, 
                    value: selectedChoice }" />

您可以将其存储在 JavaScript 对象中并指向它。

示例:http: //jsfiddle.net/rniemeyer/m8vVA/

于 2013-02-13T21:49:50.277 回答
0

以下敲除绑定允许在视图模型中更改搜索过滤器的实时更新:

<input data-bind="kendoAutoComplete:
{
    value: value,
    data: suggestions,
    filtering: onSuggestionsChanged
}" />

value 是选定的值,Suggestions 是一个可观察的数组,你用结果填充,onSuggestionsChanged 是你的视图模型中的一个函数,每次用户更改字段中的文本时都会调用它。

Kendo UI Filter 事件描述

于 2016-02-19T15:29:10.383 回答