如何确定可见 jqGrid 网格的 ID

How can the IDs of visible jqGrid grids be determined?

本文关键字:网格 ID jqGrid 何确定      更新时间:2023-09-26

我有一个包含多个jqGrids的页面,但一次只能看到一个。 我想要一个简单的函数来返回哪个函数在任何时候可见。 有没有这样的功能,可以显示哪些div是可见的:

$('div').each(function(){
    if($(this).is(':visible')){
        alert($(this).attr('id'));
    }
});

有没有这样的东西可以解析页面上的所有jqGrids?

谢谢!

您可能需要如下所示的内容

$("table.ui-jqgrid-btable:visible").attr('id');

如果表上没有网格,您将获得undefined值。如果一个网格可见更多,您将获得第一个网格的 id。

若要拥有所有可见网格的 ID 数组,可以使用以下代码

var ids = $.map($("table.ui-jqgrid-btable:visible"), function(value) {
        return value.id;
    });
// now we have all ids in the array
alert(ids.join()); // display all as comma-separated

您可以通过 grid expandos 的测试使上面的代码更安全:

var ids = $.map($("table.ui-jqgrid-btable:visible"), function(value) {
        if (value.grid) { return value.id; }
    });
// now we have all ids in the array
alert(ids.join()); // display all as comma-separated

我所知,所有网格都用div类ui-jqgrid包裹。所以尝试如下:

$('div.ui-jqgrid:visible').each(function () {
   alert(this.id); //above would return the gview_<table_id> or gbox_<table_id> or 
                   //something_<table_id>
   alert($(this).find('.ui-jqgrid-btable').attr('id')); //should return table_id
});