Как переключить отображение jqGrid с помощью jQuery? - PullRequest
0 голосов
/ 08 октября 2010

У нас есть две сетки jqGrid - мы хотим отображать только одну по одному на основе пользовательского ввода.

Каждая отображаемая сетка должна отображаться на экране в одном месте.

Какой самый простой способ добиться этого?

В настоящее время у нас просто настроен HTML с <table id="list"></table>, а затем мы создаем сетку с $("#list").jqGrid({....

Ответы [ 3 ]

1 голос
/ 09 октября 2010

jqGrid создает несколько элементов div для элементов таблицы и пейджера.Идентификатор div, который содержит все элементы jqGrid - это div с id = "gbox_list" в вашем случае.

Таким образом, чтобы скрыть сетку, вы можете использовать $("#gbox_list").hide(); и показать ее обратно: $("#gbox_list").show();,Если вы хотите использовать другой эффект переключения, который вам нужен, но с тем же объектом $("#gbox_list").

0 голосов
/ 14 октября 2010

В конце концов, ответ был найден в похожем сообщении: Как полностью скрыть jqgrid, если данные не возвращены?

0 голосов
/ 09 октября 2010

HTML:

<a href="#" id="click1">Toggle</a>
<table class="list" id="list1"></table>
<table class="list" id="list2" style="display: none;"></table>

JQuery:

$("a#click1").click(function() {
    $("table#list1").toggle();
    $("table#list2").toggle();
});

PS.Мне интересно, будет ли jqGrid работать с элементами, которые имеют display: none и, таким образом, эффективно удаляются из DOM;если это не сработает, вы можете адаптировать функцию toggle () для использования свойства видимости.

$("table.list").toggle(
    function() {
        $(this).css({"visibility": "hidden"});
    },
    function() {
        $(this).css({"visibility: "visible"});
    }
);
...