首先,我想向你们展示我正在尝试做的事情。
我正在尝试使用 AJAX、jquery 和 php 在我的应用程序中创建搜索功能,至于我使用 Codeigniter 的框架,但不一定是 CI,这可能与所有类似(我想)。
我有这段代码来观察focus
和blur
事件。
$("#searchbox").on({
keyup : debounce(function(){
MSI.Interface.search();
},350,false),
blur : function(){
$("#search_results").hide();
}
});
我还没有完成它,这就是为什么这个blur
事件只有.hide()
. 我想不出还有什么要包括的,也许重新设置html
它#search_results
以使其空白,但我不知道这是否合理。
第一个问题:您认为更合理的解决方案是什么?
正如您在前面的代码中看到的,我有去抖动功能,只是为了防止服务器上的每个字符请求,我想知道这是否正确。
然后我有这个search
功能
search : function() {
var keyword = $("#searchbox").val();
if (keyword == '') {
} else {
$.ajax({
url : MSI.variables.base_url + 'search',
type: 'POST',
data: {
keyword : keyword
},
dataType : 'json',
success: function(output) {
$.each(output, function() {
$.each(this, function(key, value){
$("#search_results").show().prepend("<p>"+value+"</p>");
});
});
}
});
}
}
使用该代码,脚本将能够将内容添加到#search_results div
.
第二个问题:您认为什么是更好的解决方案?