我想知道如何让jqGrid自定义格式化程序来调用单独的函数“test1”?我在“test1”函数上得到一个未定义的错误。
脚本#1 ......
//colModel json objects...
{ name: 'Vin', index: 'Vin' },
{ name: 'Links', index: 'Links', formatter: jqgridCellFormatterLink }
//jqGrid formatter function...
function jqgridCellFormatterLink(cellValue, options, rowObject) {
return "<span onclick='test1(\"" + rowObject[0] + "\");'>Test</span>";
}
//non-jqGrid function
function test1(parmVin) {
alert(parmVin);
}
...谢谢
//脚本#2 ......
//colModel json objects...
{ name: 'Vin', index: 'Vin' },
{ name: 'Links', index: 'Links', formatter: function(cellValue,options,rowObject) { return "<span>Test</span>";} }
beforeSelectedRow: function(rowid, e) {
if (this.p.colModel[$.jgrid.getCellIndex($(e.target).closest("td")[0])].name === 'Links')
{
alert($('#blah').getCell(rowid, 0)); //Can be 0 or 'Vin'...
}
}
答案 0 :(得分:1)
我建议您使用the answer和this one中描述的方法。您无需将onclick
绑定到某些全局方法。而不是使用beforeSelectRow
或onCellSelect
回调更有效,这些回调将在一个现有的 click
事件句柄中调用。
顺便说一下,您发布的格式化程序可能无法正常工作,因为rowObject
的格式取决于很多内容:如何填充网格,datatype
您使用的"local"
"json"
},"xml"
或rowObject
可以生成不同格式的repeatitems: true
),无论您使用jsonReader
还是loadonce
的其他设置,是否使用{{1}或者不是等等。