Javascript 在JQGrid的showlink格式化程序中添加动态参数

Javascript 在JQGrid的showlink格式化程序中添加动态参数,javascript,jquery,jqgrid,jqgrid-formatter,Javascript,Jquery,Jqgrid,Jqgrid Formatter,我正在使用JQGrid的showlink格式化程序。 对于这一点,我的模型是 [ {name:'id',index:'id',hidden:true}, {name:'unit',index:'unit',sorttype:"string"}, {name:'supplierName',index:'supplierName',sorttype:"string",formatter:'showlink',formatoptions:{baseLinkUrl:'supplierCommodity

我正在使用JQGrid的
showlink
格式化程序。 对于这一点,我的模型是

[
{name:'id',index:'id',hidden:true}, 
{name:'unit',index:'unit',sorttype:"string"},
{name:'supplierName',index:'supplierName',sorttype:"string",formatter:'showlink',formatoptions:{baseLinkUrl:'supplierCommodityDetail',addParam: '&unit='+unit}}
];
我想使链接具有两个请求参数,这将是我的jqgrid数据的一部分,如下所示:

http://localhost:7654/kiss/portal/yoadmintool/supplierCommodity/supplierCommodityDetail?id=48803&unit=Unit1
但我犯了一个错误

Uncaught ReferenceError: unit is not defined 
但是如果我像你一样改变

[
    {name:'id',index:'id',hidden:true}, 
    {name:'unit',index:'unit',sorttype:"string"},
    {name:'supplierName',index:'supplierName',sorttype:"string",formatter:'showlink',formatoptions:{baseLinkUrl:'supplierCommodityDetail',addParam: '&unit=abc'}}
    ];
我正在获取url

http://localhost:7654/kiss/portal/yoadmintool/supplierCommodity/supplierCommodityDetail?id=48803&unit=abc
但我想单位的值应该取决于那一行

这是我创造的

我使用的另一种方法是编写自定义包装函数。但是我想使用默认的“showlink”格式化程序。
请帮助。

colModel
userId列中提到
formatter:editLink
以获取
userId
isActive
的值,这里的
editLink
是一个函数

columnIndex
userId
是第一个参数,columnIndex
isActive
是第二个参数,使用
rowdata.userId
rowdata.isActive
函数中的
。这两个值用
分开

使用jqgrid在URL中传递两个参数

代码:

$(document).ready(function(){
            //jqGrid
            $("#usersList").jqGrid({
                url:'<%=request.getContextPath() %>/Admin/getAllUsersList',
                datatype: "json",               
                colNames:['Edit','Primary Email','Active','First Name','Middle Name','LastName','Mobile Number'],
                colModel:[
                    {name:'userId',search:false,index:'userId',width:30,sortable: false,formatter: editLink},                       
                    {name:'email',index:'user.primaryEmail',width:150},
                    {name:'isActive',index:'user.isActive',width:80},
                    {name:'firstName',index:'firstName', width:100},
                    {name:'middleName',index:'middleName', width:100},
                    {name:'lastName',index:'lastName', width:100},
                    {name:'mobileNo',index:'user.mobileNo', width:100},
                    ],
                    rowNum:20,
                    rowList:[10,20,30,40,50],
                    rownumbers: true,  
                    pager: '#pagerDiv',
                    sortname: 'user.primaryEmail',  
                    viewrecords: true,  
                    sortorder: "asc",
                    autowidth:'true',
            });
            $('#gridContainer div:not(.ui-jqgrid-titlebar)').width("100%");
            $('.ui-jqgrid-bdiv').css('height', window.innerHeight * .65);
            $('#load_usersList').width("130");
            $("#usersList").jqGrid('navGrid','#pagerDiv',{edit:false,add:false,del:false},{},{},{}, {closeAfterSearch:true});
            $(".inline").colorbox({inline:true, width:"20%"});
        });

        function editLink(cellValue, options, rowdata, action)
        {
            return "<a href='<%=request.getContextPath()%>/Admin/editUser/" +rowdata.userId+"&"+rowdata.isActive  + "' class='ui-icon ui-icon-pencil' ></a>";
        }
$(文档).ready(函数(){
//jqGrid
$(“#用户列表”).jqGrid({
url:“/Admin/getAllUsersList”,
数据类型:“json”,
colNames:['Edit'、'Primary Email'、'Active'、'First Name'、'Middle Name'、'LastName'、'Mobile Number'],
colModel:[
{name:'userId',search:false,index:'userId',width:30,sortable:false,formatter:editLink},
{名称:'email',索引:'user.primaryEmail',宽度:150},
{名称:'isActive',索引:'user.isActive',宽度:80},
{name:'firstName',索引:'firstName',宽度:100},
{名称:'middleName',索引:'middleName',宽度:100},
{name:'lastName',索引:'lastName',宽度:100},
{名称:'mobileNo',索引:'user.mobileNo',宽度:100},
],
rowNum:20,
行列表:[10,20,30,40,50],
行数:对,
寻呼机:“#pagerDiv”,
sortname:'user.primaryEmail',
viewrecords:是的,
分拣员:“asc”,
自动宽度:'true',
});
$(“#gridContainer div:not(.ui jqgrid titlebar)”)。宽度(“100%”;
$('.ui jqgrid bdiv').css('height',window.innerHeight*.65);
$('load#u usersList')。宽度(“130”);
$(“#usersList”).jqGrid('navGrid','#pagerDiv',{edit:false,add:false,del:false},{},{},{},{},{closeAfterSearch:true});
$(“.inline”).colorbox({inline:true,宽度:“20%”);
});
函数editLink(单元格值、选项、行数据、操作)
{
返回“”;
}

我不确定您是否可以获得另一列的值。为什么不使用自定义格式化程序?