2015-08-24 5 views
1

Я использую последнюю версию пользовательского интерфейса Kendo с jQuery версии 1.8.Kendo UI Dropdownlist Filter issue

Все работает хорошо, за исключением фильтрации в выпадающих списках 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 к более высокой версии (> = 1.9), проблема была решена. Однако по некоторым причинам я не могу обновить версию jQuery на данный момент. Кто-нибудь знает «HACK», чтобы исправить эту проблему без изменения версии jQuery? Спасибо.

ответ

0

Это только потому, что od JS вы можете изменить код JS на данный момент он содержит aria-expanded="false", но вы должны изменить как aria-expanded="true". то он будет работать нормально .it Defind Under: class="k-widget k-dropdown k-header". Нажмите F12 и проверка консоли Snapshot1

Snapshot2

По умолчанию он принимает aria-expanded="false" но когда я изменить его на aria-expanded="true" он отлично работает лучше увидеть Сделать снимок

+0

Hi Anand, Спасибо за ваш ответ. Я не уверен, что правильно понимаю ваши комментарии или нет. Я попытался изменить aria-extended = "true", но он все равно не работает. Можете ли вы взглянуть на скрипку: http://jsfiddle.net/EaNm4/395/ – Ginag

+0

см. Мой обновленный комментарий и снимок. перейдите в режим отладки и проверьте, какой класс Span используется для выпадающего списка и измените aria-extended = "false" на aria-extended = "true" –

+0

Hi Anand, Я следил за вашими скриншотами в разных браузерах (Chrome, IE, FireFox), но он все еще не работает. – Ginag

1

Вы можете попробовать это:

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

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

Это не мой код, и, к сожалению, я не могу найти источник, но, как я понимаю, оболочка позволяет вам определить некоторые параметры, не поддерживаемые в раскрывающемся списке, как keylistener, и «e.stopImmediatePropagation» в этом случае работает аналогично «e.preventDefault», но только для действия «вверх-вниз». Моя проблема была похожа на вашу, и это разрешило это.