如何使用链接按钮将JQGrid单元格值传递给Jquery函数

时间:2014-06-16 05:31:18

标签: javascript jquery jqgrid href

我的JQGrid就像,

    colNames: ['Job ID', 'MailId','Save'],
    colModel: [
                { name: 'JobId', index: 'JobId', width: 120, align: 'left', editable: true },
                { name: 'MailId', index: 'MailId', width: 150, align: 'left', editable: true },

                {
                    name: 'Save', index: 'Save', width: 100, sortable: false,
                    formatter: function (cellvalue, options, rowObject) {
                        return "<a href='#' id="saveLinkId">Save</a>";

                    }
                }

我在JQGrid单元格的末尾创建了“保存链接”按钮。

点击链接按钮后,我需要将点击的行 JobId和MailID传递给jquery函数。如何做?

2 个答案:

答案 0 :(得分:1)

在上面给出的示例中,formatter函数中的rowObject参数将保存该行中的所有值。因此,可以为您的JobId使用 rowObject.JobId ,为您的MailId使用 rowObject.MailId

答案 1 :(得分:0)

我建议您使用beforeSelectRow(或onCellSelect)来检测<a>列中的"Save"点击。 The answer解释了你能做些什么。另一个答案:this onethis one对你来说也很有趣。

在您的情况下,beforeSelectRow可能如下所示

beforeSelectRow: function (rowid, e) {
    var $self = $(this),
        iCol = $.jgrid.getCellIndex($(e.target).closest("td")[0]),
        cm = $self.jqGrid("getGridParam", "colModel");
    if (cm[iCol].name !== "Save") {
        return true;
    }

    alert ($self.jqGrid("getCell", rowid, "JobId"));
    return false;
}

此外,您应该考虑在输入数据中使用哪个值id。值构建因此命名为rowid - id元素的<tr>属性值(网格的行)。例如,如果JobIdMailId(两列中的一个)包含每行的唯一值,则可以使用列中的值作为rowid。为此,您只需将key: true添加到相应的列即可。