将图标添加到我的编辑表单

Adding an Icon to My Edit Form

我想在我的编辑表单中添加一个图标。图标按预期显示,但它对点击事件没有反应。

使用免费的 jqGrid 4.13

colModel中:

{name:'characteristic', index:'characteristic', width:150, editable: true,
    editoptions:{rows:'3',cols:'50'}, editrules:{edithidden:true},
    formoptions:{rowpos:3, colpos:1,label:"Characteristic:",
    elmsuffix: " <img class='genericnotes' src='/QMSWebApp/Images/addnote[3].jpg'>"},
    edittype:'textarea'},

在加载完成中:

$('.genericnotes').on("click", function(){
    var tControl = this.name;
    alert(tControl);

    //$('.miscdisplay').load("/QMSWebApp/FirstArticleControllerServlet",
    //{lifecycle:"faieditlistdisplay",
    //tControl:tControl,
    //source:0});
    //$('.miscdisplay').show("slide", { direction: "right" }, 1000);
});

尝试var tControl = $(this).attr("name");

loadComplete中使用$('.genericnotes').on("click", function(){...});是错误的,因为此时编辑表单不存在。您应该使用例如 beforeShowForm 表单编辑回调。免费的 jqGrid 允许在 jqGrid 的 formEditing 选项中指定表单编辑 options/callbacks(参见 the wiki article)。因此,您可以通过使用

click 句柄绑定到 img.genericnotes
formEditing: {
    beforeShowForm: function () {
        $("#characteristic") // select textarea#characteristic
            .next(".genericnotes")
            .on("click", function () {
                alert("Click");
            });
    }
}