我對JavaScript和jquery比較陌生。現在我有一個txt文件中的單詞列表。我將這個列表存儲在一個數組中,我想將該數組的內容與某些用戶輸入進行比較。如果匹配,應該顯示該特定字。Javascript/jQuery比較數組輸入值
我也使用執行一些typeahead功能來預測用戶想要搜索哪些單詞。
在當前階段,我的函數在第一個輸入字符上查找匹配項。當使用更多字符時,該函數返回未找到匹配項。這是爲什麼?
這裏是我的HTML:
<div class="container">
<div class="appwrapper">
<div class="content">
<h3>OpenTaal Woordenboek</h3>
<p>Voer uw zoekopdracht in:<p>
<p><input name="searchinput" id="searchinput" data-provide="typeahead" type="text" placeholder="Zoeken...">
<p class="dict"></p>
</div>
</div>
</div> <!-- /container -->
而這裏的jQuery的:
<script src="bootstrap/js/jquery.js"></script>
<script src="bootstrap/js/bootstrap-typeahead.js"></script>
<script type="text/javascript">
var data;
var myArray = [];
var txtFile = new XMLHttpRequest();
txtFile.open("GET", "OpenTaal-210G-basis-gekeurd.txt", true);
txtFile.onreadystatechange = function() {
if (txtFile.readyState === 4) { // Makes sure the document is ready to parse.
if (txtFile.status === 200) { // Makes sure it's found the file.
allText = txtFile.responseText;
data = txtFile.responseText.split("\n"); // Will separate each line into an array
myArray = [data];
} //"\r\n"
}
}
//console.write(data);
searchinput.onkeypress = function() {
//alert("The function is working!");
var formInput = document.getElementById("searchinput").value;
if (myArray == formInput) {
alert("There's a match!");
$('.dict').append('<div class="result">' + myArray + '</div>')
} else {
alert("No match has been found..");
}
};
您有意將整個'myArray'與單個formInput進行比較'價值? – Blazemonger
我想我必須遍歷myArray來搜索匹配。但我不知道如何做到這一點在javascript – Forza
只是一個提示......如果你使用jQuery,你最好用jQuery代碼替換你的XMLHttpRequest(例如$ .ajax) –