JqGrid necesita hipervínculo: necesita capturar valor a través de Jquery

Tengo lo siguiente en mi código:

{ name: 'ID', index: 'ID', width: 40 , formatter: 'showlink', search: false, formatoptions: { baseLinkUrl: '/Program/EditMicro'} }, 

Cuando hago clic en el PNum, lo que sucede es que va a la acción siguiente resultado de mi controlador:

  /Program/EditMicro 

Lo que me gustaría, en cambio, es capturar esa información a través de Jquery en lo que se seleccionó (qué ID se seleccionó), ya que quiero hacer algo de json antes de que se envíe a la siguiente acciónResult

  /Program/EditMicro 

Por lo tanto, para recapitular, ¿hay alguna manera de capturar en qué es el valor de los clics del hipervínculo y luego puedo capturar eso en Jquery?

Gracias de antemano

En la mayoría de los casos es suficiente usar algo como

 formatter: "showlink", formatoptions: { baseLinkUrl: "/Program/", showAction: "EditMicro", idName: "myId" } 

En el caso de que los enlaces se generarán como

 text from the cell 

Si tiene en la acción el ID de la fila, puede obtener cualquier otra información adicional que necesite directamente de la base de datos.

Alternativamente, puede usar el truco simple descrito en la respuesta . Usted define la clase CSS

 .myLink { text-decoration: underline; cursor: pointer; } 

Entonces puede usar formateador personalizado como a continuación

 formatter: function (cellValue, options, rowObject) { return "" + cellValue + ""; }, cellattr: function () { return " title=\"Click here to go to EditMicro\""; } 

En la forma en que generará que busca el usuario como un enlace. Puede capturar el evento click en la celda usando beforeSelectRow o onCellSelect callback. Por ejemplo

 beforeSelectRow: function (rowid, e) { var $td = $(e.target).closest("td"), iCol = $.jgrid.getCellIndex($td[0]); if (this.p.colModel[iCol].name === 'note') { window.location = "/Program/EditMicro/" + encodeURIComponent(rowid); return false; } } 

Si es necesario, puede usar getCol o getRowData para obtener cualquier otro dato de la fila clicada y anexar la información a la URL objective.

Puede agregar lo siguiente a su statement jqGrid para evitar que se active la acción de clic predeterminada.

 .click(function (event) { event.preventDefault(); }) 

A continuación, puede hacer algo como su propio controlador de eventos de clic a través de

 $('a').click(function () { //ToDo: Extra actions before submitting to controller }); 

También puede crear su propio formateador personalizado para agregar también información adicional al hipervínculo que va a mostrar para que funcione a medida que se construye la grilla.

Editar: Ejemplo de trabajo donde deshabilité la funcionalidad de clic predeterminada y unir la mía para mostrar una alerta (como un ejemplo para mostrar dónde codificaría su propia función para hacer el trabajo adicional que desea hacer). http://jsfiddle.net/QEzhr/33/