Как скрыть выпадающий список JQuery, пока он не будет правильно построен в IE6? - PullRequest
2 голосов
/ 18 февраля 2010

Я использую плагин для выпадающего списка jQuery. Когда он подключен к блоку множественного выбора, вы можете на мгновение увидеть мультиселекторный рендер, после чего появляется правильно выглядящий выпадающий список. Это заметно при загрузке страницы, но особенно уродливо при частичной обратной передаче, когда на мгновение мигает большой мультиселектор.

Я думал, что смогу скрыть это, добавив вызов beginRequest для скрытия и запрос показа по окончании, но это не работает. Есть ли способ проверить, когда контрольный список завершен, чтобы я мог отобразить его в этот момент? Я с трудом даже скрываю выпадающий контрольный список программно через javascript.

Есть идеи?

Обновление
Так что, по-видимому, это проблема только IE6. Проблема в том, что IE6 - единственный браузер, в котором будет запускаться это приложение. Безобразие возникает при загрузке страницы даже в самом простом случае создания выпадающего контрольного списка. т.е.

$(function() {
    $('#MySelect').dropdownchecklist();
});

1 Ответ

3 голосов
/ 18 февраля 2010

У меня та же проблема, и я просто скрываю раскрывающийся список (т.е. я добавляю стиль = "display: none" в раскрывающийся список) ... Затем, когда выпадающий список будет создан, он появится в правильном месте.

Если вас беспокоит загрузка выпадающего списка выпадающего списка, когда страница загружается, вы можете поместить div вокруг раскрывающегося списка с ожидаемой высотой выпадающего списка в закрытом положении.

Также, если вы хотите получить еще больше фантазий, вы можете отобразить слова «Пожалуйста, подождите» рядом со скрытым раскрывающимся списком в элементе div, а после загрузки раскрывающегося списка удалить текст.

...