我需要在我的JQgrid中创建一个列的所有单元格,这个链接调用带有单元格值的javascript函数,以便在服务器端传递一些查询。我看过html link column in jqGrid 但它没有成功。这就是我所拥有的,
colModel:[
{name:'name',width:300,formatter:link}
]
,链接功能
function link(cellvalue, options, rowObject) {
alert('<a href="javascript:logForProv(\''+cellvalue+'\',\''+$('#datepicker1').val()+'\',\''+$('#datepicker2').val()+'\');">');
return "<a href='javascript:logForProv(\''+cellvalue+'\',\''+$('#datepicker1').val()+'\',\''+$('#datepicker2').val()+'\');'>";
}
执行此操作我没有在列中获取任何数据,我也尝试使用预定义的格式化程序链接和showlink,但是他们将href和id附加到正在搞乱的URL。
请帮助。
答案 0 :(得分:2)
点击providerId
修改列后,您将重定向到editProvider
的编辑页面。
在formatter: editLink
colModel上提及providerId
来调用editLink
函数。这样就可以在jqGrid中创建链接。
<强>代码:强>
$(document).ready(function(){
//jqGrid
$("#providerList").jqGrid({
url:'<%=request.getContextPath() %>/Admin/getProvidersList',
datatype: "json",
colNames:['Id','Edit','Provider Name'],
colModel:[
{name:'providerId',search:false,index:'providerId',hidden:true},
{name:'providerId',search:false,index:'providerId', width:30,sortable: false, formatter: editLink},
{name:'providerName',index:'providerName', width:200},
rowNum:20,
rowList:[10,20,30,40,50],
rownumbers: true,
pager: '#pagerDiv',
sortname: 'providerName',
viewrecords: true,
sortorder: "desc",
});
$('#gridContainer div:not(.ui-jqgrid-titlebar)').width("100%");
$('.ui-jqgrid-bdiv').css('height', window.innerHeight * .65);
$('#load_providerList').width("130");
$("#providerList").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/editProvider/" + rowdata.providerId + "' class='ui-icon ui-icon-pencil' ></a>";
}
答案 1 :(得分:0)