【问题标题】:jqGrid: Link in a cell not clickable, and also not link-likejqGrid:单元格中的链接不可点击,也不是类似链接
【发布时间】:2013-10-18 00:08:36
【问题描述】:

我为 jqGrid 中的一列使用了自定义格式化程序。这是格式化程序:

formatter: function(cellvalue, options, rowObject) {
    var link = $('<a>', {
        text: 'Click Me'
        href: '#',
        click: function() {
           alert('sdfsfsd');
           // my stuff
        }
    });

    return link[0].outerHTML;
}

有两个问题:

  • 链接不可点击。当我单击链接时,该行被选中!有没有办法不绕过行选择,但也使链接可点击? [更新:我尝试使用 beforeSelectRow: function(row, e) { return false;} 来禁用选择。但仍然无法点击链接。我可以在 html 中看到单元格值确实是一个链接。]

  • 链接不像链接,这意味着它不像往常一样没有蓝色/下划线。我没有覆盖我的 CSS 中的任何内容。

非常感谢您的帮助!

谢谢 维韦克·拉古纳坦

更新:我发现这不是网格本身的问题。但是点击处理程序没有与超链接链接。我也尝试了这段代码,但没有运气!

var link = $('<a>', {
    text: 'Click Me'
    href: '#'
}).click(function() {
   alert('sdfsfsd');
   // my stuff
});

谢谢

【问题讨论】:

    标签: jqgrid hyperlink cell jqgrid-formatter


    【解决方案1】:

    由于链接是动态创建的(使用 jquery),然后 该对象的 HTML 被使用,因此处理程序不会成为 HTML 的一部分。所以在这种情况下,链接必须直接从字符串中创建:

    formatter: function(cellvalue, options, row) {
        var handler = "someHandlerDefined(" + options.rowId + ")";
        return "<a href=# onclick='" + handler + "'>Link</a>";
    }
    

    成功了!

    【讨论】:

      猜你喜欢
      • 2015-10-06
      • 1970-01-01
      • 2021-04-02
      • 2017-05-24
      • 2013-08-21
      • 2014-01-22
      • 2020-12-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多