2017-09-01 63 views
0

由DHTMLX組合提供的自動建議列表在每次擊鍵時都會更新,但顯然只使用前綴匹配。如何更改邏輯以匹配選項文本中的任何位置。如何在DHTMLX組合中生成自定義建議列表

E.g.在下面的小提琴:

https://jsfiddle.net/wra8etjw/2/

我想對於「三公」的建議,甚至顯示,當我在框中鍵入「EE」。我已閱讀有關custom filtering的文檔,但自定義過濾方法和用戶定義的函數都無法讓我獲得任何地方。

我以基本方式使用DHTMLX組合框。即選項在服務器提供的HTML文件中呈現爲文字(它們非常靜態),因此onDynXLS永遠不會被觸發(沒有發生Ajax)。

我的另一個想法是捕獲用戶正在鍵入的當前值,將其保存到某個全局變量,然後提供一個用戶定義的過濾函數,該函數將在所有存在當前值的值上返回true(而不是隻是作爲前綴)。這也失敗了,因爲用戶定義的過濾函數顯然只在頁面加載時被調用,而不是在輸入文本中的每個擊鍵上調用。此外,我不知道甚至用哪個來捕獲組合輸入文本中的關鍵筆劃並獲取當前值。

所以我的問題是:

  1. 如何進行的建議列表,其中當前文本作爲一個子字符串中的任何地方存在他們,而不是僅僅作爲前綴顯示值?
  2. 如何捕獲Combo輸入文本中的擊鍵並在用戶輸入時獲取當前值?

回答

0
  1. 如何進行的建議顯示值列表,其中當前文本作爲一個子字符串中的任何地方存在他們,而不只是作爲一個前綴?

使用enableFilteringMode('between')

  • 如何捕獲在組合的輸入文本的鍵盤和獲得的電流值作爲用戶正在鍵入?
  • 最簡單的方法是IMO在組合使用了底層input元件連接的處理程序。

    更新提琴here

    0

    如何使在當前文本作爲字符串中的任何地方存在他們,而不是僅僅作爲前綴的建議值顯示列表?

    不幸的是這樣的特徵,不提供無dhtmlxCombo源代碼 的修改或應該使用服務器端過濾模式,所以你將能夠使用onDynXLS事件的解決方案。

    如何捕捉在組合的輸入文本的擊鍵和獲取當前值作爲用戶鍵入?

    您可以嘗試使用「onKeyPressed」事件: https://docs.dhtmlx.com/api__dhtmlxcombo_onkeypressed_event.html

    相關問題