为了账号安全,请及时绑定邮箱和手机立即绑定

JqG​​rid需要超链接 - 需要通过Jquery捕获值

JqG​​rid需要超链接 - 需要通过Jquery捕获值

浮云间 2019-07-25 10:18:27
JqGrid需要超链接 - 需要通过Jquery捕获值我的代码中有以下内容:      { name: 'ID', index: 'ID', width: 40 , formatter: 'showlink', search: false, formatoptions: { baseLinkUrl: '/Program/EditMicro'} },当我点击PNum时,会发生什么事情,它会转到以下actionresult我的控制器:    /Program/EditMicro我想要的是通过Jquery在所选内容(选择了什么ID)上捕获该信息,因为我想在发送到以下ActionResult之前做一些json    /Program/EditMicro所以,回顾一下,无论如何都要捕获超链接点击的价值,然后我可以在Jquery中捕获它。先感谢您
查看完整描述

2 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

在大多数情况下,使用类似的东西就足够了

formatter: "showlink",formatoptions: {
    baseLinkUrl: "/Program/",
    showAction: "EditMicro",
    idName: "myId"}

如果链接将生成像

<a href="/Program/EditMicro?myId=123">text from the cell</a>

如果您在操作中有行的ID,则可以直接从数据库中获取所需的任何其他信息。

或者,您可以使用答案中描述的简单技巧。您定义CSS类

.myLink { text-decoration: underline; cursor: pointer; }

然后你可以使用下面的自定义格式化程序

formatter: function (cellValue, options, rowObject) {
    return "<span class='myLink'>" + cellValue + "</span>";},cellattr: function () {
    return " title=\"Click here to go to EditMicro\"";}

在这种方式中,您将生成<span>像链接一样的用户外观。您可以使用beforeSelectRowonCellSelect回调捕获单元格上的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;
    }}

如果需要,您可以使用getColgetRowData从单击的行中获取任何其他数据,并将信息附加到目标URL。


查看完整回答
反对 回复 2019-07-25
  • 2 回答
  • 0 关注
  • 415 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信