2016-07-22 15 views
-1

AJAXが更新された値で終了した後にdivを再設定しようとしています。 これは私が使用しようとしているAJAXコードです。AJAXが完了したときにdivを再入力する

$(document).on("sf:ajaxfinish", ".searchandfilter", function(){ 
      console.log("ajax complete"); 
      //so load your lightbox or JS scripts here again 
      $(".things").refresh(); 
     }); 

ここで、コンソールにはrefresh is not a functionと表示されています。なぜなら私は関数を書いていないからです。物事は、私は実際にdivを更新する関数を書く方法を知っていない.things。誰かが私を助けてくれることを願っている?

私はこの試みた:

function refresh { 
    $('.things').load(document.URL + ' .things'); 
} 

をしかし、それは私の構文エラーを与え、これは行くための正しい方法であれば、私は知らないのですか?

ここは私のコンソールログです。

S&F JS initialised script:125:4 
ajax start script:110:5 
ajax complete script:118:4 
TypeError: $(...).refresh is not a function 

ありがとうございました!

+0

jQueryでプラグインを作成する方法はありますか? –

+0

いいえ私はそれを求めていません。誰かが私が与えたサンプルコードを使って.things divを更新する方法を知っているかどうかを尋ねています。私は立ち往生しているから。 – Steggie

+0

'$()。refresh()'というのは混乱していました。プラグインを作成したいという意味です。 –

答えて

2

変更この:これだけに

$(".things").refresh(); 

refresh(); 

、ちょうどあなたが見逃しているか、タイプミスがここにあります気づいた:

function refresh { // here you don't have() as functions requires these. 

refresh();です機能が満たされていないhodをセレクタにバインドします。


あなたは、関数の引数にセレクタを渡すなど、それを使用することができますあなたのコメントを1として:

function refresh($el){ 
    $el.load(document.URL + ' .things'); 
} 

今あなたが好きそれを呼び出すことができます。

refresh($('.things')); 
+0

しかし、更新するdivをスクリプトに伝える必要はありませんか? 私はそれをrefresh()に変更するだけです。私はこれを取得:125:4 AJAX起動スクリプト:110:5 AJAX完全なスクリプト:118:4 にReferenceError:リフレッシュを ' – Steggie

+0

@Steggie'関数リフレッシュ定義されていない{ 'これはない 'S&F JSはvaararrangementenを初期化どのような関数を定義する方法。それについてコンソールに他のエラーがありますか?または、そこに正しい機能があることを確認できますか? – Jai

+0

@ジェイ:これはうまくいった。 \t 'function refresh(){ \t \t $( '。things')ロード(document.URL + '.things'); \t} ' ありがとうございました! – Steggie

0

あなたはクリーンなコードを書いていますただし、refresh()は事前定義された関数ではなく、ユーザー定義の関数であることを覚えておいてください。

だから、あなたはちょうど私があなたのコードに気づい

refresh(); 

代わりの

$(".things").refresh(); 

もう一つの下に使用します。以下のコードでadd()を省略すると、

function refresh { 
$('.things').load(document.URL + ' .things'); 
} 
関連する問題