2012-10-27 69 views
1

使用Yii PHP framework。當你在stackoverflow上提出一個問題時,當你輸入標題時,一個列表顯示爲「可能已經有你的答案的問題」。我想創建類似的字段類型,以便當用戶輸入業務名稱時,我可以在系統中顯示類似的業務名稱。它不一定需要像stackoverflow的模型那樣複雜。簡單的字母搜索應該沒問題。如何構建像stackoverflow一樣的自動完成類似標題檢查?

請注意,與正常自動填充不同,此「自動填充」實際上不會填寫相關字段,而是用作信息工具來通知用戶可能已存在的數據。

我在想Yii CJuiAutoComplete widget是工作的正確工具,但是如何從輸入字段解析自動完成?

+0

你到底意思分解:

所以要更改默認的行爲,這是更新文本字段,你可以通過返回false從它們的回調函數取消這些事件?自動完成不會實際填充該字段,直到從建議中選擇一個值。你在尋找什麼樣的特徵? –

+0

@ bool.dev就像您在輸入新問題時一樣,stackoverflow網站的工作方式。用stackoverflow你不能「選擇」一個現有的標題作爲你的問題標題,而只是向你展示已經存在的東西。 – User

回答

1

CJuiAutoComplete絕對是正確的工具,並且在選擇建議值時禁用自動填充功能,您必須更改其select event及其focus event的jQueryUI自動填充行爲。

單擊建議項目時會觸發select事件,並且在按鍵(向上,向下箭頭鍵)導航建議項目時觸發focus事件。

$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
    // other options 
    // additional javascript options for the autocomplete plugin 
    'options'=>array(
     'select'=>'js:function(event, ui) { 
      return false; 
     }', 
     'focus'=>'js:function(event, ui) { 
      return false; 
     }' 
    ), 
)); 
相關問題