簡體   English   中英

jQuery UI自動完成多個值-如何在空格后而不是逗號后顯示建議列表?

[英]jQuery UI AutoComplete Multiple Values - how can I show the suggestion list after a space instead of a comma?

我正在嘗試將AutoComplete插件用於jQuery UI, 特別是多值功能 (帶有本地數組)。 目標是“智能”效果。

逗號分隔后,建議框 *顯示。

例如:

test1, <suggestion list appears>

就我而言,我希望建議列表出現在SPACE之后 ,而不是逗號,即:

test1<space> <suggestion list appears>

可以直接在上面鏈接的演示頁面上看到此功能(或缺少此功能),只需鍵入“ Clojure”,然后該框將自動用逗號填充,然后鍵入另一個單詞(例如Java),然后重新打開建議列表。 如果執行相同操作,請鍵入Clojure,刪除逗號,然后按空格鍵,將不再顯示建議。

我試圖打入AutoComplete代碼,但沒有看到導致這種情況發生的原因-我不反對修改實際的jQuery UI源本身以實現這種情況,或者反對使用支持此功能的完全不同的插件系統。

感謝您的幫助-如果您需要更多詳細信息,請告訴我!

您可以通過修改select事件回調來更改插入的行為。 如果單擊演示頁面上的“查看源代碼”,則會看到this.value = terms.join( ", " ); 只需將其更改為this.value = terms.join( " " );

編輯:您可能還希望在演示源代碼中編輯split()函數:

function split( val ) {
  return val.split( /,\s*/ );
}

(刪除逗號)

這是一個老問題,但我也需要這個。 在我的情況下,簡單地刪除拆分函數中的逗號會產生奇怪的行為。

Calvin L Edit:您可能還想在演示源代碼中編輯split()函數:

function split( val ) {
  return val.split( /,\s*/ );
}
(Remove the comma)

除了使用所選值進行填充外,它還連接了原始的部分段:例如,輸入字母a,aj(等)+空格+填充詞。 同樣,自動建議的行為也很奇怪,與其過濾更多的字母,不如過濾掉更多的無關結果。

解決方案是用空格簡單地替換逗號:

function split( val ) {
  return val.split( / \s*/ );
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM