【问题标题】:Passing parameter to javascript function in an Ajax success function?在Ajax成功函数中将参数传递给javascript函数?
【发布时间】:2015-08-01 06:27:14
【问题描述】:

我正在使用 ajax 调用此 UpdateItem 函数,使用 achor 标记。 它给了我控制台错误

错误:req 未定义

 function updateItem(id, desc, vehicleno){
         alert("i am here");
         $('#ProcessModal').modal('show');
         $('#<%=txtPartNo.ClientID%>')[0].value=id;
        $('#<%=txtPartNo.ClientID%>')[0].value=partno;
    }    

Ajax 调用 ...

     ......
    $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            url: "<%=BasePath%>/WebServices/RequisitionService.asmx/GetAllRequisitionItems",
             data: '{ ReqID: "<%=_RecordId%>"}',
             dataType: "json",                         
             success: function (data) {       
                 var req=[];
                 var desc=[];
                 var veh=[];

                 for (var i = 0; i < data.d.length; i++) {
                      req[i] =data.d[i].RequisitionItemsID;
                       desc[i]= data.d[i].ItemDescription;
                       veh[i]= data.d[i].VehicleNumber;
                     $("#reqTable").append("<tr><td>"+data.d[i].PartNo  + "</td><td>" + data.d[i].ItemDescription +"</td><td>"+data.d[i].Quantity+"</td><td>"+data.d[i].VehicleNumber+"</td><td> " + data.d[i].ItemStatus +"</td><td>"+ data.d[i].Remarks+"</td><td><a href='javascript:updateItem(req[i], desc[i], veh[i] );'>Process</a> </td></tr>");
                }    
            },
             error: function (result) {                         
             },
         });
    ....

【问题讨论】:

    标签: javascript asp.net ajax asp.net-ajax


    【解决方案1】:

    其实很简单,除了引号,你没有做错任何事。。 请按以下方式更正它们,它会起作用的。

    声明时:

    var req='';
    var desc='';
    ar veh='';
    

    在你需要这些变量的函数中。

    <a href='javascript:updateItem(\"" + req + "\", \"" + desc + "\",\"" + veh + "\" );' <%= (ReqStage == (int)RequisitionStage.PendingforHOApproval) ? "" : "style=display:none"  %>>Process</a> </td></tr>");
    

    希望对你有帮助 快乐编码:)

    【讨论】:

      【解决方案2】:

      使用 JavaScript 数组 push() 方法。喜欢 -

      req.push(data.d[i].RequisitionItemsID);
      desc.push(data.d[i].ItemDescription);
      veh.push(data.d[i].VehicleNumber);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-12
        • 2011-10-02
        • 2016-01-16
        • 1970-01-01
        • 2022-01-01
        相关资源
        最近更新 更多