我有一个Ajax调用,它会返回一些HTML代码。在这个返回的代码中,我有几个下拉框,使用select2 JavaScript库以及许多其他(公司库,自定义库等)
现在,在从Ajax调用中检索的内容中,似乎没有任何库可以正常工作。
通过使用jQuery委托方法(根据其他问题制作)可以解决类似问题的解决方案,但在这种情况下,我不能简单地进入select2库(也不是所有其他问题)和用委托替换一切。
为了使库能够处理返回的ajax内容,我可以实现哪些解决方案?
答案 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,但我认为在这种情况下您不需要这样做。