我在select上使用select2,我通过一个名为list()的函数动态填充数据(使用json和其他过滤器)。

我想在每次打开下拉列表时调用list()以刷新数据。
我能做到这一点的唯一方法是调用.select2("destroy").select2()

我的问题是,只有当我从另一个元素启动它时,它才起作用。假设$(".header").click(function() { ... })
当我调用任何内置事件(select2-openingselect2-openselect2-focus ...)时,它不起作用。

有什么想法可以在打开下拉菜单时调用吗?

编辑:
通过在事件“ select2-opening”上调用list()即可解决此问题。

它以.empty()开头,然后开始填充我要应用select2插件的<select>

编辑2:
更好的解决方案是将事件称为“选择焦点”,它可以实时做出更好的反应。

最佳答案

如果要从服务器重新加载数据,请考虑使用ajax构造函数属性。
您可以使用查询回调来构建远程数据重新加载或本地数据重新加载。
只需实现获取更新数据的方法

10-05 20:37
查看更多