2017-04-21 8 views
0

Ich habe diesen jqgrid-Code unten und ich habe ein Bild darin und gleichzeitig seine Funktion, die ich verwende. Aber wenn ich auf den Knopf in meinem jqgrid klicke, heißt es Uncaught ReferenceError: clickmeapproved is not defined. Ist etwas falsch mit meinem Code oder der Art, wie ich sie benutze? Gleicher Fehler mit der abgelehnten Schaltfläche.Uncaught ReferenceError: Fehler nicht definiert

afterInsertRow: function (rowid) { 
       var obj = jQuery("#FiTATimeCorrectionV2List").getRowData(rowid); 
       var FADTLSID = obj.FitaAssignDtlID; 
       if (FADTLSID !== undefined) { 
        if (FADTLSID !== "") { 
         var btnApprove = "<input type = 'image' img alt='' src='../../Content/Images/newimages/check.png' style='height:20px;width:20px;' style ='width: 90px' id='btnApproved" + rowid + "' onclick='clickmeapproved(" + rowid + ")' />" 
         var btnDisApprove = "<input type = 'image' img alt='' src='../../Content/Images/newimages/delete.png' style='height:20px;width:20px;' style ='width: 90px' id='btnDisApproved" + rowid + "' onclick='clickmedisapproved(" + rowid + ")' />" 
         jQuery("#FiTATimeCorrectionV2List").setRowData(rowid, { FitaCorForApproval: btnApprove }); 
         jQuery("#FiTATimeCorrectionV2List").setRowData(rowid, { FitaCorForDisApproval: btnDisApprove }); 
         var temp = obj.FitaStatus; 
         if (temp == "Approved") { 
          $("#btnApproved" + rowid).hide(); 
          $("#btnDisApproved" + rowid).hide(); 
         } 
         else if (temp == "Disapproved") { 
          $("#btnApproved" + rowid).hide(); 
          $("#btnDisApproved" + rowid).hide(); 
         } else { 
          $("#btnApproved" + rowid).show(); 
          $("#btnDisApproved" + rowid).show(); 
         } 
        } 
       } 
      }, 

function clickmeapproved(rowid) { 
var ans = confirm("Are you sure you want to approve the request of "+ globalFitaCorName +"?"); 
if (ans) { 
    $.ajax({ 
     type: "POST", 
     url: '../Request/SaveFitaApproval?FAID=' + rowid, 
     dataType: 'json', 
     success: function (response) { 
      alert("Successfully approve!"); 
      $("#FiTATimeCorrectionV2List").trigger("reloadGrid"); 
      FiTATimeCorrectionV2(0); 
      globalFitaCorName = ""; 
      $("#loader").hide(); 
     }, 
     error: function (reponse) { 
      $("#FiTATimeCorrectionV2List").trigger("reloadGrid"); 
      FiTATimeCorrectionV2(0); 
      globalFitaCorName = ""; 
      $("#loader").hide(); 
     } 
    }); 
    } 
} 

Antwort

0

Ihre "clickmeapproved" -Funktion nicht über globale Reichweite. Überprüfen Sie, indem Sie im Web-Inspektor "window.clickmeapproved" eingeben.

+0

Globaler Bereich? Entschuldigung, das ist das erste Mal, dass ich es weiß. – KiRa

+0

Browser bei dem Versuch zu finden "clickmeapproved" -Funktion an Fensterobjekt angefügt. Was es nicht finden kann. Sie müssen also sicherstellen, dass "window.clickmeapproved" funktioniert. Sie können über Bereiche in Javascript hier erfahren https://www.w3schools.com/js/js_scope.asp – singh88harman

+0

BTW .. Danke für die Hilfe, die ich gerade jetzt löse. Ich bearbeite meinen Code ein wenig. Warte, ich poste es. – KiRa

0

Hier ist der Code, den ich verwende, um mein Problem zu lösen.

var btnApprove = "<input type = 'image' img alt='' src='../../Content/Images/newimages/check.png' style='height:20px;width:20px;' style ='width: 90px' id='btnApproved" + rowid + "' />" 
var btnDisApprove = "<input type = 'image' img alt='' src='../../Content/Images/newimages/delete.png' style='height:20px;width:20px;' style ='width: 90px' id='btnDisApproved" + rowid + "' />" 

Ich schließe die Schaltfläche klicken Sie darauf aus.

$("#btnApproved" + rowid + "").click(function(){ 
    clickmeapproved(rowid); 
}); 
$("#btnDisApproved" + rowid + "").click(function(){ 
    clickmedisapproved(rowid); 
}); 
Verwandte Themen