销毁jQuery自动完成功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了销毁jQuery自动完成功能相关的知识,希望对你有一定的参考价值。

我在我的一个项目中使用Autocomplete jQuery UI,我想在一个案例中销毁自动完成。

我有一个网页,其中有2个字段,即CountryExt No。在用户选择一个国家的地方,我正在触发ajax呼叫以获得该国家的所有分机号码。如果该国家/地区有任何分机号码,则我在Ext No字段中设置了自动填充列表。因此,对于一个国家/地区存在分机号码,我可以在Ext No字段上设置新的自动填充列表。但是有一些国家没有任何分机号,所以在这种情况下我想破坏Ext No领域的自动完成列表。

下面是我用来破坏Ext No字段上的自动完成的代码。

if ($('#ext_no').data('autocomplete')) {
  $('#ext_no').autocomplete("destroy");
}

但这不起作用。我总是把$('#ext_no').data('autocomplete')当作undefined。这是第一次未定义,这很好,但当用户下次选择一个国家时,它不应该返回undefined

让我知道是否有人知道我在这里做错了什么,或者是否有任何其他方法来破坏字段的自动完成,如果它在该字段上设置。

答案

我认为在较新版本的jQuery UI中,数据属性名称更改为uiAutocomplete而不是autocomplete所以

if ($('#ext_no').data('uiAutocomplete')) {
  $('#ext_no').autocomplete("destroy");
}
另一答案

对我来说这是:

jQuery('#autocompleteid').on('blur', function()
    {
        jQuery(".autocomplete-suggestions").remove();
    });

这将删除对autocomplete的所有建议,并且不会为该字段提供autocomplete

以上是关于销毁jQuery自动完成功能的主要内容,如果未能解决你的问题,请参考以下文章

错误:无法在初始化之前调用自动完成的方法;试图调用方法“销毁”

我的 jquery 自动完成功能不起作用

带有 servlet 的 jQuery 自动完成 UI 不返回任何数据

从零开始配置vim(27)——代码片段

从零开始配置vim(27)——代码片段

从零开始配置vim(27)——代码片段