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

标签 jquery jqgrid

我的代码中有以下内容:

      { name: 'ID', index: 'ID', width: 40 , formatter: 'showlink', search: false, formatoptions: { baseLinkUrl: '/Program/EditMicro'} },

当我单击 PNum 时,会发生以下情况:我的 Controller 将执行以下操作结果:

    /Program/EditMicro

我想要的是通过 Jquery 捕获有关所选内容的信息(选择了什么 ID) 因为我想在将 json 发送到以下 ActionResult 之前执行一些操作

    /Program/EditMicro

那么,回顾一下,是否有办法捕获超链接点击的值,然后我可以在 Jquery 中捕获该值。

提前谢谢

最佳答案

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

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

在这种情况下,链接将生成如下

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

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

或者,您可以使用the answer中描述的简单技巧。 。您定义 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>它像链接一样寻找用户。您可以使用beforeSelectRow捕获单元格上的点击事件。或onCellSelect打回来。例如

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。

关于jquery - JqG​​rid需要超链接-需要通过Jquery捕获值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14529358/

相关文章:

Javascript框架流行度

jquery - 免费 jqGrid 4.8.0 - 将 'of X' 隐藏在寻呼机栏中显示 'page Y ox X' 的位置

javascript - 检测 jqGrid 单元格中的复选框事件

javascript - jqGrid 标题宽度与数据列宽度不同

javascript - 为什么使用 jQuery 元素包装元素要快得多

javascript - 如何在显示甜蜜警报后使用ajax在php中上传文件?

c# - 使用 AJAX 上传文件

drag-and-drop - 拖放 HTML5 jQuery : how to fire the drop event?

jquery - jqgrid - 关闭表单对话框

jquery - jqGrid 在分组时对列进行排序考虑分组标题