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”)
设置为返回的整数。基本上,我正在尝试做与MVCAjax.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)没有正确的引用。在调用它时,它最终(我认为)引用了整个文档。无论如何,不是正确的对象。请检查我刚才所做的更改。它应该能解决你的问题。