2014-05-14 64 views
4

如何禁用Twitter的Typeahead插件的自由文本輸入?我找到的所有示例和配置都可以輸入自定義文本。我需要用戶不能輸入自定義文本,但僅當文本與其中一個選項匹配時才能輸入自定義文本。Typeahead沒有自由文本

+1

也許我不理解你的問題,但什麼是類型的超前,如果用戶不能鍵入點? –

+0

這是一個相當典型的行爲。我建議從可用性的角度重新考慮。也就是說,要禁用它,您需要重新檢查每個鍵的輸入,並查看它是否與結果集匹配。 –

+2

@ScottMurphy關鍵是讓用戶輸入和選項自動完成,但它必須是其中一個選項,而不是自由文本。 Twitter的typeahead使用戶更容易選擇選項:他們可以鍵入並選擇(但我需要的是特定的選項,而不是發明的) – lu1s

回答

3

的技術是使用.blur檢查是否有效的建議是目前

var myData = ["sugg1" , "sugg2" ]; // all data required for typeahead 

$("#search").typeahead({source : myData}) 
        .blur(validateSelection); 

function validateSelection() { 
    if(source.indexOf($(this).val()) === -1) 
     $("#search").val(""); 
} 
+0

它是否正常工作,我嘗試了一段時間,所以我嘗試了一下不知道,但我做了類似的肯定 –

+0

同樣的問題在這裏,你如何處理遠程和多個數據源的解決方案?無法弄清楚.. – silk