我创建了一个包含一些字段的jqGrid,例如:
job_id,名称等
我要做的是使得当点击job_id列中的值时,它会将它们重定向到:
job.php?job_id =(他们点击的值)
我开始尝试使用以下作为我的colModel:
{ name:'job_id', index:'job_id', edittype:'select', formatter:'showlink',
formatoptions:{baseLinkUrl:'job.php'}, width:50, align:'center' }
Run Code Online (Sandbox Code Playgroud)
但是这会导致重定向到:
job.php?JOB_ID =(ROW_ID)
我做了一些搜索,发现这个软件的开源版本开发人员的帖子建议使用以下colModel和其他JS:
{ name:'job_id', index:'job_id', edittype:'select', formatter:'showlink',
formatoptions:{baseLinkUrl:'#'}, width:50, align:'center' }
loadComplete: function() {
var myGrid = $("#home_list");
var ids = myGrid.getDataIDs();
for (var i = 0, idCount = ids.length; i < idCount; i++) {
$("#"+ids[i]+" a",myGrid[0]).click(function(e) {
var hash=e.currentTarget.hash;// string like "#?id=0"
if (hash.substring(0,5) === '#?id=') {
var id = hash.substring(5,hash.length);
var text = this.textContent;
location.href="job.php?id="+text;
}
e.preventDefault();
});
}
}
Run Code Online (Sandbox Code Playgroud)
但这与IE不兼容.除此之外,当在jqGrid中显示大量行时,加载需要很长时间,比如5秒+ …
我使用showlink formatter将列作为链接.有什么方法可以在我点击它时调用javascript函数.
现在这是我的代码
$("#list").jqGrid(
{
url: '..',
datatype: 'json', //We specify that the datatype we will be using will be JSON
colNames:['ID', 'User Name'],
colModel :[
{name:'id',index:'id', width:110, sorttype:"string", formatter: 'showlink', formatoptions:{baseLinkUrl:'index.cfm'}},
Run Code Online (Sandbox Code Playgroud)
...
我不想使用baselinkUrl.相反,我可以在点击URL时调用Javascript函数吗?当我使用'showlink'格式化程序时,我的表单数据似乎也没有发布到下一个屏幕.
我想遍历网格对象中包含的所有数据.我的网格有一个包含子网格对象的定义,并以这种方式创建
var grid = $(gridID);
var pager = $(pagerID);
grid.jqGrid({
url: GetBaseWSUrl() + 'MyWs.asmx/MyMethod',
colNames: ['UMLT', 'FF', 'PC'],
colModel: [
{ name: 'Name', index: 'Name', width: 180, template: colTextTemplate },
{ name: 'AlertFF', index: 'AlertFF', width: 22, align: 'center', sortable: false, formatter: "checkbox", formatoptions: { disabled: false} },
{ name: 'AlertPC', index: 'AlertPC', width: 22, align: 'center', sortable: false, formatter: "checkbox", formatoptions: { disabled: false} }
],
[...]
subGrid: true,
subGridOptions: {
"plusicon": "ui-icon-triangle-1-e",
"minusicon": "ui-icon-triangle-1-s",
"openicon": "ui-icon-arrowreturn-1-e",
"reloadOnExpand": true, …Run Code Online (Sandbox Code Playgroud)