同一页面上的多个版本的jQuery自动完成

时间:2012-05-31 12:02:34

标签: jquery-ui jquery jquery-plugins jquery-autocomplete

我需要有两个自动完成框作为我当前要求的一部分。它已经有了普通的自动完成框,之前已经使用自动完成版本1.0.2实现了,现在我已经实现了另一个带有自动完成UI版本1.8.16的自动完成框。因此需要多个版本的jQuery自动完成需要在相同的页面上运行,这会导致冲突类型的问题。因此,以前实现的自动完成框无法重做或升级。

问题:自动完成1(用1.0.2实现)仅在我评论自动完成插件1.8.16

时才有效

我想让两个功能都有效。

你能告诉我们可以做些什么吗?

任何线索都会非常感激。

由于

1 个答案:

答案 0 :(得分:0)

我毫不犹豫地回答这个问题,因为我不是百分之百确定,但我很确定插件的两个版本不能在同一个jQuery实例中共存,只要它们具有相同的名称(例如{{ 1}})。但是你可以解决这个问题。以下是一些示例,按我推荐的数量排序:

  • 升级旧的autoComplete实施以使用版本1.8
  • 只需使用旧版本的autoComplete进行新的实施
  • 手动将插件的较新版本的名称编辑为autocomplete2。要么手动执行,要么在插件包括(见下文)
  • 之间执行此操作
  • 在同一页面上使用两个单独的jQuery实例,将每个autoComplete插件版本加载到每个相应的jQuery实例中。您可以在加载每个jQuery版本并将它们存储在单独的变量中之后调用jQuery.noConflict来执行此操作,例如: $.autocompletewindow.$

动态重命名版本(从Samuel Rossille的回答中获取,编辑为不破坏旧的自动完成实现)

window.$2