将变量从Javascript webmethod调用传递给success函数

时间:2012-06-20 18:10:49

标签: javascript asp.net webmethod

我有一个按钮点击我必须调用web方法,并且在方法成功时,我需要将参数“this”传递给该函数。

 $(".login").click(function () {
     var parent = $(this).parent().parent();
     var id = $(parent).find(".selectbtn").attr("id");
     PageMethods.validateLogin(id, onSuccess, null);
 });

 function onSuccess(result) {
     if (result) {
         //here i need to delete the parent div, that is  var parent = $(this).parent().parent();
     }
 }

有什么建议吗?

1 个答案:

答案 0 :(得分:4)

您可以内联您的函数,以便它可以访问本地变量:

$(".login").click(function() {
    var parent = $(this).parent().parent();
    var id = $(parent).find(".selectbtn").attr("id");

    PageMethods.validateLogin(id, function (result) {
        if (result) {
            // just use parent here
        }
    }, null);
});

或者,您可以将parent传递给onSuccess函数:

$(".login").click(function() {
    var parent = $(this).parent().parent();
    var id = $(parent).find(".selectbtn").attr("id");

    PageMethods.validateLogin(id, function(result) {
        onSuccess(result, parent);
    }, null);
});

function onSuccess(result, parent) {
    if (result) {
        // just use parent here
    }
}