我目前使用這兩個插件一起:jQuery的自動完成(devbridge)和檢索輸入
https://github.com/stidges/jquery-searchable
https://github.com/devbridge/jQuery-Autocomplete
我的問題是,當我選擇從自動完成下拉菜單的一個選項(通過鼠標點擊),它會填充textarea,但不會觸發jQuery可搜索的過濾器操作。但是,如果我使用鍵盤(使用向下箭頭鍵)從自動完成下拉菜單中選擇一個選項,那麼jquery可搜索的作品。
需要注意的一件事是,如果在選擇選項之後在文本框中進行任何類型的按鍵操作(無論是輸入空格還是僅用左/右箭頭移動光標),「鼠標點擊」鍵。在發生任何這些行爲時,jquery可搜索的腳踢和可搜索的項目將像往常一樣被過濾。
我猜測點擊和鍵盤選擇將數據寫入輸入字段的方式必須有所不同。
另一方面,如果我可以在選擇一個選項後模擬輸入內的按鍵。我不希望有依靠的hackish按鍵模擬如果可能的話,但對問題的緣故,這裏是我曾嘗試(不工作):
$('#dpt-search').autocomplete({
lookup: dpts,
minLength: 0,
onSelect: function (suggestion) {
$('#dpt-search').trigger('keypress');
}
});
所以基本上,
1)有沒有辦法讓jquery-autocomplete選項通過鼠標點擊選擇操作方式相同的方式通過鍵盤選項選擇工作?
2.)如果沒有,是否有辦法確保在我選擇它後觸發jquery可搜索的某些模擬鍵盤活動在輸入元素中發生?
這裏是活生生的例子:在「中心」在搜索字段http://cpira.tamucc.edu/membership/findrep/
嘗試打字,然後鼠標點擊第一個選項。該字段將自動填寫,但searchable
不會過濾列表。
清除該字段,然後再次搜索「中心」,但此類型使用鍵盤的向下箭頭鍵。每次選擇(當您使用箭頭鍵向下移動列表時)都會更新searchable
過濾器。
你能分享一個鏈接到託管網站或jsFiddle嗎? – bobthyasian