-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 に答える