我有一个包含一些名称列表的元素,在它之上我有一个文本框。当用户开始输入时,将触发 ajax 调用并获取具有匹配关键字的名称。如果只有一个空格,我需要停止任何呼叫,但如果文本框为空且没有任何空格,则列表应填充所有名称。
HTML是:
<input type="text" onkeyup="startTSearch(); return false" class="t_search_placeholder" id="t_Search" placeholder="Search here" />
JS 是这样的:
function startTSearch(){
var list = $('.teachersList');
var q = document.getElementById('t_Search').value;
q = q.trim();
if(q == ""){}else{
list.html("");
$('.t_loader_msg').css('display','block');
$('.t_loader_msg').css('font-weight','bold');
document.getElementById('load_MSG').innerHTML = "RETRIEVING SUGGESTIONS...";
var postData = {flag:1,q:q};
$.ajax({
type: 'POST',
dataType: 'json',
url: 'global.php',
data: postData,
beforeSend:function(){
},
success:function(data){
if(data.errorList == ""){
if(data.hasResult == 0){
document.getElementById('load_MSG').innerHTML = "NO RESULTS FOUND.";
} else if(data.hasResult == 1){
document.getElementById('load_MSG').style.display = "none";
list.hide().html(data.teacherList).slideDown(300);
}
}
},
error:function(){
}
});
}
}
上面的代码在用户按下空格时不会触发调用,但是如果用户搜索了一些首字母,比如说 A,那么它会搜索所有带有 A 的名称,但是当用户按下退格键以使文本框为空时,它不会搜索任何内容理解,但如果按下退格键,我希望调用以获取所有名称。