如果你想自動完成一個完整的解釋,這是爲了減緩。 但是,如果你只是想自動填充一些單詞(如「綠色」,「紅色」等),這應該做到這一點。
在你的HMTL你需要一個輸入和一個div。 輸入用於輸入,div提供建議。
<input id="input" oninput="findSuggestions('input', 'suggestions')">
<div id="suggestions"></div>
所以,如果你鍵入,一個函數將被調用。 這個函數將會通過一個包含所有建議的數組。
var arySuggestions = ["Alarm", "Already" , "Ballon"] // This is where all you suggestions go
function findSuggestions(strInputId, strSuggestionsDivId) {
var objInput = document.getElementById(strInputId)
var strInput = objInput.value // get the current text
var objSuggestionsDiv = document.getElementById(strSuggestionsDivId)
if (strInput.length > 0) {
objSuggestionsDiv.innerHTML = ""; // empty the suggestion div, just in case
var objList = document.createElement("ul");
for (var i = 0; i < arySuggestions.length; i++) {
var word = arySuggestions[i]
var wordPart = word.substring(0,strInput.length)
if (word.length > strInput.length && wordPart === strInput) { // check if the words are matching
// if they do create a list entry
var objListEntity = document.createElement("li");
objListEntity.setAttribute("onclick", "complete('" + word + "', '" + strInputId + "', '" + strSuggestionsDivId + "');");
objListEntity.innerHTML = word;
objList.appendChild(objListEntity);
}
}
// show the suggestionList
objSuggestionsDiv.appendChild(objList);
} else {
objSuggestionsDiv.innerHTML = ""; // empty the suggestion div
}
}
還有第二個功能。
function complete(strComplete, strInputId, strSuggestionsDivId) {
document.getElementById(strInputId).value = strComplete;
document.getElementById(strSuggestionsDivId).innerHTML = ""; // empty the suggestion div
}
如果你想建議按照你的光標,你可能會需要一些CSS:所以當你點擊的建議,將在填充它。
希望這有助於
是否有可能...是的。是如何做到這一點太廣泛這個網站的問題......也是。搜索網頁中的腳本,使用*「autocomplete」*或*「typeahead」* – charlietfl
這些術語來允許您使用第三方庫,或者您必須自己做? –