El evento de clic del botón del formateador personalizado jqgrid no funciona

He construido un jqgrid dinámicamente, no puedo invocar la función al hacer clic en el botón.

Mi código:

function buildButtons(cellvalue, options, rowObject) {
            var optionsRowId = options.rowId;
            var editDelButtons = "<input style=\"height:22px;width:40px;\" type=\"button\" value=\"Edit\" onclick=\"javascript:testRow('" + optionsRowId + "')\" />";
            return editDelButtons;

        }

function testRow(rowID)
{
  alert(rowID);
 }

}

El error que recibo siempre cuando hago clic en el botón en cada fila de jqgrid es "la función no está definida"

Mi función está escrita justo debajo de la función customFormatter.

Por favor ayúdenme lo antes posible, gracias de antemano.

preguntado el 22 de mayo de 12 a las 16:05

¿Puede publicar un ejemplo de código más grande (EG: jsfiddle) que demuestre el problema? -

1 Respuestas

Tienes que poner el testRow función fuera de la .ready() función.

p.ej

$(function(){

    function buildButtons(cellvalue, options, rowObject) {
        var optionsRowId = options.rowId;
        var editDelButtons = "<input style=\"height:22px;width:40px;\" type=\"button\" value=\"Edit\" onclick=\"javascript:testRow('" + optionsRowId + "')\" />";

        return editDelButtons;
    }

})

function testRow(rowID)
{
    alert(rowID);
}

Respondido 01 Oct 12, 16:10

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.