我有一個可變數量的使用相同選擇列表的自動填充字段的表單。根據需要添加和刪除這些字段。每當頁面上的參數發生變化時,我都會嘗試更新所有字段的列表,首先調用unbind()
,然後autocomplete()
,並將新參數添加到url中。jQuery自動完成:如何刷新列表?
$('input.foo').unbind().autocomplete(url?new_param=bar);
問題是,unbind()似乎沒有解除綁定。當我輸入輸入字段時,它會觸發自動完成事件的整個歷史記錄。
我也試過flushCache無濟於事。
如何清除舊事件?
謝謝。
嘿,謝謝你回覆Deeksy。我嘗試了不完整,但沒有奏效。我做了,但使用removeData('事件'),並工作! $('input.foo')。removeData('events')。autocomplete('url?new_param = bar'); 請注意,如果你這樣做,附加到該元素的任何其他事件將被吹走。 – cinematic 2009-10-19 04:17:03
@cinematic是的,看着自動完成插件代碼,不幸的是他們命名空間的'keydown'事件,但不是點擊,焦點或其他事件添加到輸入作爲自動完成的一部分。如果他們打算繼續完成,這只是去.unbind('keypress.autocomplete')。unbind('click.autocomplete')的問題。等等,雖然這應該都在不完整的()我想。 – Deeksy 2009-10-19 06:56:25
不錯...謝謝你的解決方案。 – Cesar 2009-10-29 18:47:58