#autocomplete #kendo-ui
#автозаполнение #kendo-ui
Вопрос:
Мой виджет автозаполнения kendo настроен на использование Ajax для получения списка клиентов, что он успешно выполняет, и все это работает в Firefox и Chrome, но в IE он ведет себя странно.
- В IE F12 tools я отслеживал сетевую активность, видел, что вызов Ajax успешно возвращается с данными json.
- Я также проверил вкладку HTML и увидел, что записи, возвращаемые в json, были правильно созданы как элементы HTML в DOM
Единственная проблема заключается в том, что часть выпадающего списка фактически не отображается.
Вот HTML-файл listbox перед тем, как Kendo создаст каждый элемент элемента списка из данных json:
<div class="k-list-container k-popup k-group k-reset" id="clientSearchInput-list" style="display: none; position: absolute;" data-role="popup">
<ul tabindex="-1" class="k-list k-reset" id="clientSearchInput_listbox" role="listbox" aria-hidden="true" aria-live="polite" style="overflow: auto;" unselectable="on"></ul>
</div>
Вот тот же список после того, как Kendo создал элементы списка:
<div class="k-list-container k-popup k-group k-reset" id="clientSearchInput-list" style="height: 200px; display: none; position: absolute;" data-role="popup">
<ul tabindex="-1" class="k-list k-reset" id="clientSearchInput_listbox" role="listbox" aria-hidden="true" aria-live="polite" style="overflow: auto;" unselectable="on">
<li tabindex="-1" class="k-item k-state-focused" id="clientSearchInput_option_selected" role="option" unselectable="on">oRaNo SpeKER (SYGAA1501)</li>
<li tabindex="-1" class="k-item" role="option" unselectable="on">Halthegorth Feirae (SYGAA0531)</li>
<li ...>... many more items</li>
</ul>
</div>
Так что все на самом деле работает до этого момента. Но, глядя на элемент стиля внешнего контейнера div, я заметил эту часть:
style="...; display: none; ..."
Похоже, что Kendo останавливается на этапе фактического отображения списка. Я также ожидал бы увидеть дополнительные значения для top и left, как только Kendo определит, где должно отображаться поле списка.
Наконец, в консоли нет исключений.
Есть идеи, почему это не будет работать в IE?
Ответ №1:
Обновите свой пакет Kendo UI до последней версии.
Комментарии:
1. это был просто стандартный ответ или есть ссылка на то, что это ошибка в конкретной версии Kendo?
2. я столкнулся с некоторой проблемой при рендеринге combox и списка автозаполнения в ie 8, 9 и 10, после некоторого поиска я меняю все свои js-файлы kendo, обновляя пакет kendo .. это работает.. да, это не стандартный ответ, но вы можете сослаться на какой-нибудь блог telerik, подобный этому telerik.com/forums/combobox-scrollbar-does-not-work-with-ie-9 … я надеюсь, что это поможет вам..
3. единственная проблема в том, что это работало раньше. Основное отличие заключается в том, что раньше я создавал объект источника данных, назначал его виджету автозаполнения, а затем вручную вызывал выборку при запуске страницы, чтобы загрузить весь список на клиент. Это говорит о том, что это не обязательно проблема с версией. ?