2013-10-18 31 views
0

我在我的jqGrid中为其中一列使用了自定义格式器。下面是格式化:jqGrid:单元格中的链接不可点击,也不是链接状

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

    return link[0].outerHTML; 
} 

有两个问题:

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

  • 链接不是链接状,意味着它不是蓝色/带下划线的,与往常一样。我没有在我的CSS中覆盖任何东西。

非常感谢!

感谢 维韦克Ragunathan

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

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

由于

回答

1

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

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

工作正常!