2016-07-22 70 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绑定在选择器上。


根据你的评论,你可以传递函数的ARGS选择和使用它像:

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

现在你可以这样调用它:

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

但是,我不需要告诉脚本哪个div刷新? 如果我改变它只refresh();我得到这个: 单曲&F JS初始化vaararrangementen:125:4 AJAX启动脚本中:110:5 AJAX完整的脚本:118:4 的ReferenceError:刷新没有定义 ' – Steggie

+0

@Steggie'函数刷新{'这是不是一种定义任何功能的方法。在控制台中是否有任何其他错误?或者你能否确认你在那里有一个正确的功能? – Jai

+0

@Jay:这工作。 ('。things')。load(document.URL +'.things');函数refresh(){ \t \t $('。things')。load(document.URL +'.things'); \t}' 谢谢! – Steggie

0

你正在编写干净的代码但请记住refresh()是用户定义的函数,而不是预定义的函数。

所以,你只需要使用下面

refresh(); 

,而不是

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

一件事我在你的代码注意。你可以在下面的代码中添加()

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