猿问

jqGrid动态解析网格寻呼机ID?

我有3个简单的问题。


我有一些代码告诉我页面中是否存在jqGrid对象:


//Check if there is a jqGrid on the page and if present, reloads its data ;)

var jqGrid = $('div.ui-jqgrid-bdiv table');

if (jqGrid.length) {

    //time to reload

    $(jqGrid).trigger('reloadGrid');

}

我想找到寻呼机ID元素(如果有)。有什么办法吗?


假设我的jqGrid表中有一个自定义类:


<table id="myGrid" runat="server" class="customclass"></table>

<div id="myGrid_pager" runat="server"></div>

如何动态检查jqGrid中是否存在customclass?


编辑:


借助Oleg的帮助,我已经能够编写一个reconfigPermissions()功能,以显示/隐藏默认的“添加”,“编辑”和“删除”按钮。这是函数:


function reconfigPermissions(gridID) {

    var enableRegistry = CanModifyRegistry();

    var ops = ['#add_' + gridID, '#edit_' + gridID, '#del_' + gridID];

    $.each(ops, function (ix, value) {

        var $td = $(value);

        if (enableRegistry === true) {

            $td.show();

        } else {

            $td.hide();

        }

    });

}

当用户在页面其他位置定义的组合框中选择另一个日期范围时,将调用此函数。问题如下:如果在最初加载网格时,用户有权使用默认期限(在组合框中选择),则一切正常。您可以在组合框中切换日期范围,并且按钮会正确显示和消失。不幸的是,如果用户对最初选择的默认时间段没有权限(因此第一次创建网格{add: false, edit: false, del: false}具有权限),甚至切换到用户有权的时间段,则根本不会添加按钮。


这是绑定到组合框change事件处理程序的代码


$.ajax({

    url: GetBaseWSUrl() + 'MyWebService.asmx/ChangeCurrentPeriod',

    type: "post",

    dataType: "json",

    async: false,

    data: JSON.stringify({ periodID: $(this).val() }),

    contentType: "application/json; charset=utf-8",

    success: function (data) {

        //Check if there is a jqGrid on the page and if present, reloads its data

        var jqGrids = $('div.ui-jqgrid-bdiv table');

        jqGrids.each(function (ix, jqGrid) {

            var gridID = $.jgrid.jqID(jqGrid.id)

            reconfigPermissions(gridID);

            jqGrid.trigger('reloadGrid');

        });

    }

});

有什么建议吗?


RISEBY
浏览 282回答 1
1回答
随时随地看视频慕课网APP

相关分类

JQuery
我要回答