4

我正在使用 phpgrid.com 数据网格并希望为我的列“kbid”生成一个动态网格。我在他们的页面上看到了一个示例,如下所示:

$dg -> set_col_dynalink("productCode", "http://www.example.com/", "productCode", '&foo=bar'); 

我也做了类似的:

$dg -> set_col_dynalink("kbid", "../ib/detail.php", "kbid");

现在它显示:

本地主机/reskb/ib/detail.php?kbid=1143

但我需要让它像

localhost/reskb/ib/detail.php?offset=0&KBID=4916

这里的偏移量是行号。

4

2 回答 2

5

您正在尝试操纵超链接以通过 URL 传递附加参数。您必须使用 Javascript 在客户端中执行此操作。

这是 phpGrid 的一个示例,当用户单击网格中的超链接时调用 javascript 函数。这是链接:

http://phpgrid.com/example/call-javascript-function-on-hyperlink-click/

您还需要先启用行号(http://phpgrid.com/documentation/enable_rownumbers/

PHP

$dg->set_col_format("productLine", "showlink", array("baseLinkUrl"=>"javascript:", "target"=>"_self",
    "showAction"=>"myFunction(jQuery('#products'),'", 
    "addParam"=>"');")); 

Javascript

    myFunction = function (grid,param) {
        var ar = param.split('=');
        if (grid.length > 0 && ar.length === 2 && ar[0] === '?id') {
            var rowid = ar[1];
            var kbid = grid.getCell(rowid, 'kbid');
            var rowNum = grid.getInd(rowid);
            window.location.href = "http://example.com/?offset="+ rowNum +"&kbid="+kbid;
        }
    };

使用 getInd 获取此处记录的行索引:http ://www.trirand.com/jqgridwiki/doku.php?id=wiki:methods

于 2015-02-25T06:35:16.990 回答
0

您是指行 ID 还是数字或两者之一?行 id 是行的主键的值。

以下是您可以使用 hack 将 javascript 附加到查询字符串后面的内容。

$dg -> set_col_dynalink("productLine",
    "http://www.example.com/",
    "productName",
    '"+(rowIndex)+"');
于 2015-02-24T13:03:28.513 回答