在ajaxComplete函数中使用AJAX函数

时间:2014-04-11 21:30:18

标签: javascript jquery ajax

我有一个页面,通过解析CSV文件中的信息然后以列表形式显示来填充。填充列表后,我使用jQuery UI手风琴使其成为手风琴菜单。我的代码如下所示:

    $(document).ajaxComplete(function(){
        $('div#accordion > ul').accordion({collapsible: true, active:false});
    });

我必须等到ajax完成,否则就不会有任何数据进入手风琴菜单。然后,我需要对这些列表项应用单击操作。当我单击列表项时,它会执行AJAX调用并从该CSV中提取更多数据。所以我在ajaxComplete函数中基本上称为AJAX请求。我不能在这里使用$(window).load();因为初始的AJAX函数是异步调用的,因此无法工作。

问题在于,当我运行时使用它工作的点击功能,然后第二个我使用它运行两次,第三次运行4次,等等。我假设这是因为运行ajax函数,然后运行包含ajax函数的ajaxcomplete函数,并保持乘法。

我试图考虑设置一个' hasRun'变量为true和false但无法弄清楚如何将其合并到循环中以阻止它多次运行。

有什么想法吗?谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

ajaxComplete是全局的..如果该代码应该只在一个ajax调用之后运行,你可以把它放在那个ajax调用的完成回调中。