2016-10-19 4 views
0

Я пытаюсь добавить значок в мою форму редактирования. Значок отображается как ожидалось, но он не реагирует на событие click.Добавление значка в мою форму редактирования

Использование свободной 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'}, 

В loadComplete:

$('.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); 
}); 

ответ

1

Это неправильно использовать $('.genericnotes').on("click", function(){...}); внутри loadComplete, так как редактировать форму на данный момент не существует. Вы должны использовать, например, beforeShowForm обратный вызов редактирования формы. Бесплатный jqGrid позволяет указывать опции редактирования/обратные вызовы внутри опции formEditing опции jqGrid (см. the wiki article). Таким образом, вы можете связать click дескриптор img.genericnotes путем использования

formEditing: { 
    beforeShowForm: function() { 
     $("#characteristic") // select textarea#characteristic 
      .next(".genericnotes") 
      .on("click", function() { 
       alert("Click"); 
      }); 
    } 
} 
+0

@OlegThanks, отлично работает. –

+0

@SteveDyke: Добро пожаловать! – Oleg

0

Попробуйте var tControl = $(this).attr("name");

+0

Это не сработало, но я не думаю, что является источником проблемы. Он действует так, как событие click не привязано к значку в методе loadComplete. –

+1

Хотя этот фрагмент кода может решить вопрос, [в том числе объяснение] (http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос читателей в будущем, и эти люди могут не знать причин вашего предложения кода. – andreas

+0

Окидок, попробуй :) – Jan