2011-12-20 52 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')); 
}); 
相關問題