2012-03-27 19 views
2

を動作しません。それは単に消えません。私は隠そうとした - 助けていない。 アラートは通常と呼ばれます。 解決方法jQueryのメソッドは、私が機能を持っている

申し訳ありません。

+0

はあなたのJSコンソールにエラーがないことを確認しましたか?また、これをdomreadyイベント内に設定していることを確認してください。そうしないと、イベントハンドラが登録されないことがあります。 – halfer

答えて

5

デフォルトでは別のthis値を持つ別の関数の中にいます。

$.ajax({ 
    context: this, 
    ... 
+0

thx。 それは私を助けた) – LuckSound

1

をAJAXの成功コールバック関数内thisがクリックコールバック関数とは異なりますので、以下のよう$.ajax機能と外側の関数からthis値を渡します。ローカル変数にキャッシュするか、$.ajax()contextオプションを使用します。

$(".delete").click(function() { 
    var $this = $(this); 
    $.ajax({ 
     url: "ServerHandler.ashx", 
     data: "mode=delete&item=" + $this.attr("title"), 
     success: function() { 
      $this.parent().parent().remove(); 
      alert("hi"); 
     } 
    }); 
}); 
0

を使用すると、Ajaxの機能にcontext: this,パラメータを設定しようとしています。

成功ハンドラが起動すると、thisの値は前回と同じになりません。

はもっとFOREこちらをご覧ください:http://api.jquery.com/jQuery.ajax/

0

はこれを試してみてください:

$(".delete").click(function() { 
    $object = $(this); 
    $.ajax({ 
     url: "ServerHandler.ashx", 
     data: "mode=delete&item=" + $(this).attr("title"), 
     success: function() { 
      $object.parent().parent().remove(); 
      alert("hi"); 
     } 
    }); 
});​ 
+0

インデントを改善しようとする... – gdoron

関連する問題