загрузка списка автозаполнения, но не отображается в IE 9, 10 и 11

#autocomplete #kendo-ui

#автозаполнение #kendo-ui

Вопрос:

Мой виджет автозаполнения kendo настроен на использование Ajax для получения списка клиентов, что он успешно выполняет, и все это работает в Firefox и Chrome, но в IE он ведет себя странно.

  1. В IE F12 tools я отслеживал сетевую активность, видел, что вызов Ajax успешно возвращается с данными json.
  2. Я также проверил вкладку 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. единственная проблема в том, что это работало раньше. Основное отличие заключается в том, что раньше я создавал объект источника данных, назначал его виджету автозаполнения, а затем вручную вызывал выборку при запуске страницы, чтобы загрузить весь список на клиент. Это говорит о том, что это не обязательно проблема с версией. ?