Kendo UI下拉列表过滤器问题

时间:2015-08-24 04:36:48

标签: javascript jquery kendo-ui

我正在使用最新的Kendo UI版本和jQuery 1.8版。

除了在Kendo下拉列表中进行过滤外,一切正常。启用过滤器后,打开后立即关闭下拉列表。请看这里的小提琴: http://jsfiddle.net/EaNm4/389/

HTML

<input id="dropdownlist" />

的JavaScript

$('#dropdownlist').kendoDropDownList({
    optionLabel: 'Select option...',
    dataTextField: 'text',
    dataValueField: 'value',
    dataSource: data,
    filter: "contains"
});

当我将jQuery更改为更高版本(&gt; = 1.9)时,问题得以解决。但由于某些原因,我目前无法升级jQuery版本。 有没有人知道“HACK”来修复这个问题而不改变jQuery版本? 谢谢。

2 个答案:

答案 0 :(得分:1)

你可以试试这个:

$("[data-role=dropdownlist]").each(function () {
    var widget = $(this).data("kendoDropDownList");

    widget.wrapper.on("keydown", function (e) {
        e.stopImmediatePropagation();
    });
});

这不是我的代码,不幸的是我无法找到源代码,但据我所知,包装器允许您定义下拉列表本身不支持的一些选项,如keylistener和&#34; e .stopImmediatePropagation&#34;在这种情况下类似于&#34; e.preventDefault&#34;,但仅适用于上下动作。我的问题与你的问题类似,这解决了它。

答案 1 :(得分:0)

这只是因为od JS你现在可以改变JS代码,它包含aria-expanded="false",但你必须像aria-expanded="true"那样改变。然后它会正常工作。在[{1}}下定义。 单击F12并检查控制台Snapshot1

Snapshot2

默认情况下需要class="k-widget k-dropdown k-header"但是当我将其更改为aria-expanded="false"时,它可以更好地查看快照