0

ネット上で見つけたajax呼び出しにこのプラグインコードを使用します

jQuery.fn.postAjax = function(success_callback) {
  this.submit(function(e) {
    e.preventDefault();
    $.post(this.action, $(this).serialize(), success_callback);
    return false;
  })
  return this;
};

私はそれを少し変更したので、私はそれを次のように使用することでよりよく使うことができます

$("#my_form_name").postAjax(function(data){
   //code here
});

このコードの唯一の問題は、コールバック内で使用できないこと$(this)です。これが問題です...

このプラグインを使用できるように変更するにはどうすればよい$(this)ですか?

4

1 に答える 1

2

これを試して:

jQuery.fn.postAjax = function(success_callback) {
    this.submit(function(e) {
        e.preventDefault();
        $.post(this.action, $(this).serialize(), $.proxy(success_callback, this));
        return false;
    })
    return this;
};​

jQueryプロキシ関数について読んでください。

于 2012-08-18T21:40:21.150 に答える