2010-12-28 13 views
0

私はそれが馬鹿だと思っていますが、私の頭は今日は正しくオーバーロードされています:)私はこのコードを持っており、クリックされた要素にポインタを格納してコールバック関数に渡す必要があります。正確にそれは送信ボタンであり、フォームの正しいAjaxサブミットの後、私はそれらのコンテンツを削除したいと思います。私は、)(これらの親の多くを試みた子供()、...の組み合わせが、それは動作しませんしました:クリックされた要素へのjQueryポインタ

$("form :submit").click(function() { 
      var element = this; 
      $(this).ajaxSubmit(function(payload, element){ 
      $.nette.success(payload); 
      $(element).parent().children(".addStatusTextArea").val(""); 
      hideMessage(); 
     } 
    ); 

    return false; 
}); 
+0

マークアップの外観はどうなっていますか? –

答えて

1

ajaxSubmitに渡された関数からelementパラメータを削除します。 つまり

$("form :submit").click(function() { 
    var element = this; 
    $(this).ajaxSubmit(function(payload){ 
     $.nette.success(payload); 
     $(element).parent().children(".addStatusTextArea").val(""); 
     hideMessage(); 
    }); 
    return false; 
}); 
3

問題はelementも、コールバックのためのあなたのパラメータで指定されたであるということです、去りますこのうち、このような:

$("form :submit").click(function() { 
    var element = this; 
    $(this).ajaxSubmit(function(payload) { //no element here in params 
    $.nette.success(payload); 
    $(element).parent().children(".addStatusTextArea").val(""); 
    hideMessage(); 
    }); 
    return false; 
}); 

それはelementは、あなただけの前にそれを設定したものではなく、定義されよりは、地元のパラメータでいたとき。あなたの相対的な.parent().children()コールが正しいかどうかはわかりません(もしあれば.siblings(".addStatusTextArea")かもしれません)。あなたの主な問題はelementではありません。

関連する問題