Вкладки jqgrid и jquery: загрузка текста не скрывает - PullRequest
0 голосов
/ 10 июня 2011

Я использую вкладки пользовательского интерфейса jquery (1.8.9), и у меня есть несколько вкладок на моей веб-странице.

На каждой вкладке у меня есть jqGrid 3.8.2, который загружает данные json при загрузкестраница.

На первой вкладке все в порядке, я вижу желтую рамку Загрузка из jqGrid, и она исчезает.Но проблема в том, что, когда я перехожу на другую вкладку, я вижу загруженный jqGrid, но у меня есть небольшой loadui из JQGrid, который все еще появляется на всех jqgrid скрытых вкладок.Обновление скрывает это ..

Это ошибка?что я могу исправить?или есть способ скрыть это, когда я меняю вкладку?(Я пытался скрыть $ (". loading"), когда я меняю вкладку, но это не работает ..

Хммм, одна деталь: это происходит только в IE7, а не в Firefox и не в Chrome

Спасибо

Ответы [ 2 ]

2 голосов
/ 10 июня 2011

jqGrid использует до двух делений, чтобы показать обработку загрузки. если loadui имеет значение по умолчанию 'enable', используется один div с идентификатором с префиксом load_. Если вы используете loadui rqual для 'block', используется дополнительный оверлейный div с идентификатором с префиксом lui_.

Например, если вы используете <table> с id="list", идентификаторы div, которые будут использоваться при загрузке данных, равны 'load_list' и дополнительно 'lui_list' (если loadui:'block'). Кроме того, во время загрузки сетки другой параметр сетки $("#list")[0].grid.hDiv.loading будет установлен на true во время загрузки сетки.

Таким образом, вы можете реализовать внутри select обработчик событий вкладок jQuery UI , скрывающих и показывающих загрузочные делители. Кроме того, вы можете проверить $("#grid_id")[0].grid.hDiv.loading, чтобы убедиться, что сетка действительно находится в состоянии загрузки.

Подробнее о загрузочных погружениях, используемых jqGrid , можно узнать здесь .

0 голосов
/ 24 января 2013

Причина этого заключается в том, что в IE, если элемент находится в скрытом элементе, он не будет скрывать его должным образом.Я не уверен, на какие версии это влияет, но определенно 6 и 7.

В любом случае, найденное мной исправление - скрыть вкладки пользовательского интерфейса jQuery, переместившись за пределы экрана, а не установив видимость в none.

Это делается путем изменения CSS для класса ui-tabs-hide.Добавьте следующее в CSS на странице, которая включает ваши вкладки

.ui-tabs .ui-tabs-hide  
{
    display: block !important; 
    position:absolute;
    left: -99999px;
    top: 0;
}

Первые .ui-вкладки можно изменить на более конкретный селектор.

В любом случае после изменения полей загрузкидолжен исчезнуть как задумано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...