我在我的一个项目中使用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
。
让我知道是否有人知道我在这里做错了什么,或者有没有其他方法可以销毁该字段的自动填充功能。
答案 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");
}