Javascript 将jQuery对象和WebMethod返回值传递给OnSuccess函数

Javascript 将jQuery对象和WebMethod返回值传递给OnSuccess函数,javascript,jquery,asp.net,ajax,webmethod,Javascript,Jquery,Asp.net,Ajax,Webmethod,我正在从此代码调用WebMethod: if($(this).attr("checked")) { .. MyWebMethod(variable1, variable2, onSuccessFunction); } MyWebMethod返回一个整数,我想将上面jQuery对象的$(this).attr(“id”)设置为返回的整数。基本上,我正在尝试做与MVCAjax.ActionLink…AjaxOptions{UpdateTargetID=…}等效的操作,但是,我不知道如何获

我正在从此代码调用
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对象的概念。我这样说完全错了吗?

我不知道第一个示例中的onSuccessFunction需要哪些参数,但类似这样的东西正是您所需要的

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

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

我尝试使用匿名函数执行类似操作,问题是$(this)没有正确的引用。在调用它时,它最终(我认为)引用了整个文档。无论如何,不是正确的对象。请检查我刚才所做的更改。它应该能解决你的问题。