jqGrid:单元格中的链接不可点击,也不像链接

时间:2013-10-18 00:08:36

标签: jqgrid hyperlink cell jqgrid-formatter

我在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中覆盖任何内容。

非常感谢!

由于 Vivek Ragunathan

更新:我发现这对网格来说不是问题。但是单击处理程序不会与超链接链接。我也试过这个代码,但没有运气!

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

由于

1 个答案:

答案 0 :(得分:1)

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

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

那很有用!