我的代码中有以下内容:
{ name: 'ID', index: 'ID', width: 40 , formatter: 'showlink', search: false, formatoptions: { baseLinkUrl: '/Program/EditMicro'} },
Run Code Online (Sandbox Code Playgroud)
当我点击PNum时,会发生什么事情,它会转到以下actionresult我的控制器:
/Program/EditMicro
Run Code Online (Sandbox Code Playgroud)
我想要的是通过Jquery在所选内容(选择了什么ID)上捕获该信息,因为我想在发送到以下ActionResult之前做一些json
/Program/EditMicro
Run Code Online (Sandbox Code Playgroud)
所以,回顾一下,无论如何都要捕获超链接点击的价值,然后我可以在Jquery中捕获它.
先感谢您
在大多数情况下,使用类似的东西就足够了
formatter: "showlink",
formatoptions: {
baseLinkUrl: "/Program/",
showAction: "EditMicro",
idName: "myId"
}
Run Code Online (Sandbox Code Playgroud)
如果链接将生成像
<a href="/Program/EditMicro?myId=123">text from the cell</a>
Run Code Online (Sandbox Code Playgroud)
如果您在操作中有行的ID,则可以直接从数据库中获取所需的任何其他信息.
或者,您可以使用答案中描述的简单技巧.您定义CSS类
.myLink { text-decoration: underline; cursor: pointer; }
Run Code Online (Sandbox Code Playgroud)
然后你可以使用如下的自定义格式化程序
formatter: function (cellValue, options, rowObject) {
return "<span class='myLink'>" + cellValue + "</span>";
},
cellattr: function () {
return " title=\"Click here to go to EditMicro\"";
}
Run Code Online (Sandbox Code Playgroud)
在这种方式中,您将生成<span>像链接一样的用户外观.您可以使用beforeSelectRow或onCellSelect回调捕获单元格上的click事件.例如
beforeSelectRow: function (rowid, e) {
var $td = $(e.target).closest("td"),
iCol = $.jgrid.getCellIndex($td[0]);
if (this.p.colModel[iCol].name === 'note') {
window.location = "/Program/EditMicro/" +
encodeURIComponent(rowid);
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
如果需要,您可以使用getCol或getRowData从单击的行中获取任何其他数据,并将信息附加到目标URL.
| 归档时间: |
|
| 查看次数: |
9080 次 |
| 最近记录: |