销毁jQuery自动完成

时间:2015-08-27 11:18:52

标签: jquery ajax user-interface autocomplete

我在我的一个项目中使用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

让我知道是否有人知道我在这里做错了什么,或者有没有其他方法可以销毁该字段的自动填充功能。

2 个答案:

答案 0 :(得分:2)

对我来说是这样的:

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

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

答案 1 :(得分:0)

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

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