0
我有這個HTML:jQuery的搜索輸入
<input type="text" placeholder="Type country name" class="Cinp">
<div class="contres"></div>
這jQuery代碼:
var country_list= ["Argentina","Armenia","Aruba","Australia","Austria","Azerbaijan"];
var results = [];
var selected= [];
$(".Cinp").keyup(function(e) {
var value=$(this).val();
if (e.which >= 65 && e.which <= 90 || e.which==8) {
if (value.length!=0) {
function filter(letter) {
var len = country_list.length;
var i = 0;
while(i < len) {
if (country_list[i].indexOf(letter) == 0 || country_list[i].indexOf(letter.toUpperCase()) == 0) {
results.push(country_list[i]);
$(".contres").append(country_list[i]);
}
i++;
}
}
}
}
}
所以它完美的作品時,我只輸入第一個字母,但是當我鍵入Az
它應該返回只有Azerbaijan
,但它會返回以a
開頭的所有國家/地區。
一切都取決於你如何調用過濾功能。過濾函數從哪裏獲取參數?我的意思是,你從哪裏得到'信'? –
來自輸入值@VinodBhavnani –
如果你開始輸入a,然後改變主意,刪除並開始輸入d,會發生什麼?我想你會看到以a和d開頭的國家。我認爲這是因爲你永遠不會清除結果列表,只會增加結果列表。每次用戶按下某個鍵並重新創建它時,都需要清除它。否則,所有以前的結果將仍然存在。 – ADyson