销毁jQuery自动完成功能
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了销毁jQuery自动完成功能相关的知识,希望对你有一定的参考价值。
我在我的一个项目中使用Autocomplete jQuery UI,我想在一个案例中销毁自动完成。
我有一个网页,其中有2个字段,即Country
和Ext 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自动完成功能的主要内容,如果未能解决你的问题,请参考以下文章
错误:无法在初始化之前调用自动完成的方法;试图调用方法“销毁”