【问题标题】:Passing jQuery object and WebMethod return value to an OnSuccess function将 jQuery 对象和 WebMethod 返回值传递给 OnSuccess 函数
【发布时间】:2010-03-31 16:47:26
【问题描述】:

我正在通过这段代码调用WebMethod

if($(this).attr("checked")) {  
..  
MyWebMethod(variable1, variable2, onSuccessFunction);  
}

MyWebMethod返回一个整数,我想将上面jQuery对象的$(this).attr("id")设置为返回的整数。基本上,我正在尝试做相当于 MVC Ajax.ActionLink...AjaxOptions {UpdateTargetID =...} 但是,我无法弄清楚如何同时获得对 $(this) 的引用以及返回值。例如,如果我这样做:

MyWebMethod(variable1, variable2, onSuccessFunction($(this)));

我可以成功操作 jQuery 对象,但显然它没有来自MyWebMethod 的返回值。或者,具有onSuccessFunction(returnValue) 方法签名的第一个代码块具有来自MyWebMethod 的正确返回值,但没有我正在寻找的jQuery 对象的概念。我是不是搞错了?

【问题讨论】:

    标签: javascript jquery asp.net ajax webmethod


    【解决方案1】:

    我不确切知道您的第一个示例中的 onSuccessFunction 期望什么参数,但您正在寻找类似这样的参数。

    if($(this).attr("checked")) {   
      var el = $(this); 
      MyWebMethod(variable1, variable2, function(x, y z) { onSuccessFunction(x, y, z, el); });   
    } 
    

    ** 更新 ** 已修复以避免“this”范围问题。

    【讨论】:

    • 我正在尝试使用匿名函数进行类似的操作,但问题是 $(this) 没有正确的引用。到它被调用时,它最终将(我认为)引用到整个文档。无论如何,不​​是正确的对象。
    • 检查我刚刚所做的更改。它应该可以解决您的问题。
    猜你喜欢
    • 2017-03-02
    • 2016-11-09
    • 2012-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-27
    • 1970-01-01
    相关资源
    最近更新 更多