Ajax调用后JS库无法正常工作

时间:2015-05-13 15:45:40

标签: javascript jquery html ajax jquery-select2

我有一个Ajax调用,它会返回一些HTML代码。在这个返回的代码中,我有几个下拉框,使用select2 JavaScript库以及许多其他(公司库,自定义库等)

现在,在从Ajax调用中检索的内容中,似乎没有任何库可以正常工作。

通过使用jQuery委托方法(根据其他问题制作)可以解决类似问题的解决方案,但在这种情况下,我不能简单地进入select2库(也不是所有其他问题)和用委托替换一切。

为了使库能够处理返回的ajax内容,我可以实现哪些解决方案?

1 个答案:

答案 0 :(得分:0)

如果您通过AJAX将html加载到页面中,则需要在新的html上运行初始化函数:

//from the docs
$('select').select2();

如果您使用的是jQuery.load,可以这样做:

 //load the html into #result
 $( "#result" ).load( "demo.html", function() {
    //now use 'this' in the selection to search the new html and init select2
    $('select',this).select2();
 });

或者,要使用委托,您要等到点击(或自定义事件)后再次初始化select2,但我认为在这种情况下您不需要这样做。