-1

我有一个按钮单击,我必须调用一个 webmethod,并且在方法成功时,我需要将参数“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();
     }
 }

有什么建议么?

4

1 回答 1

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
    }
}
于 2012-06-20T18:14:57.150 回答