Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未捕获引用错误:未定义错误_Javascript_Jquery_Jqgrid - Fatal编程技术网

Javascript 未捕获引用错误:未定义错误

Javascript 未捕获引用错误:未定义错误,javascript,jquery,jqgrid,Javascript,Jquery,Jqgrid,我在下面有这个jqgrid代码,里面有一张图片,同时我正在使用它的函数。但是单击jqgrid中的按钮会显示未捕获引用错误:没有定义clickmeapproved。我的代码或我使用它们的方式有什么问题吗?。“未批准”按钮出现相同错误 afterInsertRow: function (rowid) { var obj = jQuery("#FiTATimeCorrectionV2List").getRowData(rowid); var F

我在下面有这个jqgrid代码,里面有一张图片,同时我正在使用它的函数。但是单击jqgrid中的按钮会显示
未捕获引用错误:没有定义clickmeapproved
。我的代码或我使用它们的方式有什么问题吗?。“未批准”按钮出现相同错误

 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();
                      }
                  }
              }
          },

您的“clickmeapproved”功能没有全局作用域。通过在web inspector中键入“window.clickmeapproved”进行检查。

以下是我用来解决问题的代码

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 + "' />"

全球范围?抱歉,这是我第一次知道。浏览器试图查找附加到窗口对象的“clickmeapproved”功能。它找不到。因此,您需要确保“window.clickmeapproved”正常工作。顺便说一句,您可以在这里了解javascript中的作用域。。谢谢你的帮助,我现在就解决了。我稍微编辑一下我的代码。等等,我来贴。
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 + "' />"
$("#btnApproved" + rowid + "").click(function(){
   clickmeapproved(rowid);
});
$("#btnDisApproved" + rowid + "").click(function(){
   clickmedisapproved(rowid);
});