Javascript KendoUI DropDownList选择第一项而不进行交互

Javascript KendoUI DropDownList选择第一项而不进行交互,javascript,drop-down-menu,kendo-ui,kendo-dropdown,Javascript,Drop Down Menu,Kendo Ui,Kendo Dropdown,我有一个KendoUI下拉列表,它允许用户在服务器上搜索结果并从列表中选择。在进行搜索之前,它是一个空列表 当前,在进行搜索后,将选择搜索的第一个结果,即使用户从未进行选择。我希望它不做任何更改,除非用户确实做出了选择 这个例子可以按照我的意愿工作,但我无法在我自己的代码中实现同样的效果。- 您描述的行为是一个限制,似乎已经解决了: 即将于9月举行的2016年R3将包括修复 我不知道当前版本有什么解决方法可以防止这种情况发生。结果表明,他的请求可能更具体。。。有没有办法禁用键入选择?问题是,所选

我有一个KendoUI下拉列表,它允许用户在服务器上搜索结果并从列表中选择。在进行搜索之前,它是一个空列表

当前,在进行搜索后,将选择搜索的第一个结果,即使用户从未进行选择。我希望它不做任何更改,除非用户确实做出了选择

这个例子可以按照我的意愿工作,但我无法在我自己的代码中实现同样的效果。-


您描述的行为是一个限制,似乎已经解决了:

即将于9月举行的2016年R3将包括修复


我不知道当前版本有什么解决方法可以防止这种情况发生。

结果表明,他的请求可能更具体。。。有没有办法禁用键入选择?问题是,所选项目正在被输入的过滤器更改,但这并不明显发生在用户身上。
    var control = $(matterControl).kendoDropDownList({
        dataTextField: "DisplayName",
        dataValueField: "ID",
        minLength: 1,
        filter: "contains",
        value:'',
optionLabel: { DisplayName: 'Please enter 1 or more characters', ID: '' }, 
filtering:  function (e)  {
            var filter = e.filter;
            if (filter && !filter.value) { //prevent filtering if the filter does not value 
                e.sender.dataSource.data([]);
                e.sender.text('');
                e.sender.value('');
                e.preventDefault();
             }
         },
        autoBind: false,
        valuePrimitive: true,
        template:
        '<div class="searchResult">'+
        '<span class="searchTitle searchIcon" data-id="#:ID #" >#:DisplayName #</span>' +
                  '<span class="searchDescription">#:Description #</span></div>',
        dataSource: new kendo.data.DataSource({
            serverFiltering: true,
            transport: {
                read: {
                    url: (options) => {
                        var searchValue = options.filter
                            && options.filter.filters
                            && options.filter.filters[0]
                            && options.filter.filters[0].value;

                        var currentId = $(settings.entryIDField).val();
                        var currentText = $(settings.entryNameField).val();

                        if (currentId != null
                            && currentId !== undefined
                            && currentId !== emptyGuid
                            && !searchValue)
                            return defaultRoutes.SearchService.Search + "?searchText=" + currentText + "&recordId=" + currentId;
                        else 
                            return defaultRoutes.SearchService.Search + "?searchText=" + searchValue;
                    },
                }
            },
        }),
        select: function (e: any) {
            var  dataItem  =  this.dataItem(e.item); 
            $(settings.entryNameField).val(dataItem.DisplayName);
            $(settings.entryIDField).val(dataItem.ID);
        }
    });