2011-12-20 53 views
1

我想在jqgrid的ColModel中的超链接的onclick函数中编写事件。 如何调用该函数中的超链接列的onclick中的jqGrid如何在jqgrid的ColModel中编写超链接的事件onclick

的js代码是这样的

colModel:[  
    {name:'controlCenterCode', 
    formatter:'showlink', //formatoptions:editControlCenterPage(results), formatoptions:onClick=editControlCenterPage(results), 
    index:results.controlCenterCode, width:70} 

直接调用该函数是工作,但我想调用的函数在细胞中的onclick特定的栏目,如何解决它?

,我试图这样也直接包括在列中的超链接,也它不工作

{name:'controlCenterCode',index:"<span><a href='#'onclick='editControlCenterPage(results)'>"+results.controlCenterCode+"</a></span>", width:70} 

请建议我一个解决方案 感谢

+0

通常有比使用onclick属性,如委托的事件具有特定类别的表中锚标签更好的解决方案。 – 2011-12-20 06:05:18

回答

1

我从来没有使用showlink格式,但是这应该为你工作:

添加live event handler到链接:

$('[aria-describedby="gridId_columnName"] a').live('click', function() { 
    alert('hello'); 
}); 

aria-describeby属性的格式应该是gridId_columnName,其中gridId是承载网格的元素的ID:$('#gridId').jgGrid()...,而columnName是

  1. 使用自定义格式渲染链接:在colModel定义的,所以你的情况这将是“controlCenterCode”

    ,我用的是该解决方案列。

  2. 在我的链接中,我分配了一个类(该类不必在任何样式表中存在)。
  3. 我将任何想要传入链接的数据填入data attribute。 data-id在HTML4中并不严格,但它适用于所有现代浏览器。
  4. 将活动事件处理程序附加到具有该类的元素。

实施例:

// custom formatter: 
return '<a href="#" class="actionButton" data-id="124">Click Me!</a>'; 

// attach live event 
$('.actionButton').live('click', function() { 
    alert($(this).attr('data-id')); 
}); 
相关问题