jQuery自动完成:如何刷新列表?

cin*_*tic 11 jquery binding jquery-autocomplete

我有一个表单,其中包含可变数量的自动填充字段,这些字段使用相同的选择列表.根据需要添加和删除这些字段.每当页面上的参数发生变化时,我(尝试)通过首先调用unbind()然后autocomplete()添加到url的新参数来更新所有字段的列表.

$('input.foo').unbind().autocomplete(url?new_param=bar);
Run Code Online (Sandbox Code Playgroud)

问题是unbind()似乎没有解除绑定.当我输入输入字段时,它会触发自动完成事件的整个历史记录.

我也试过flushCache无济于事.

如何清除旧事件?

谢谢.

小智 5

$(target).autocomplete("destroy");
Run Code Online (Sandbox Code Playgroud)


Dee*_*ksy 2

自动完成插件添加了一个名为 unautocomplete() 的函数,以从包含它的字段中删除 autocomplete() ,因此如果将代码更改为:

$('input.foo').unautocomplete().autocomplete('url?new_param=bar');
Run Code Online (Sandbox Code Playgroud)

此 unautocomplete() 函数应删除所有旧事件。