1

首先,我想向你们展示我正在尝试做的事情。
我正在尝试使用 AJAX、jquery 和 php 在我的应用程序中创建搜索功能,至于我使用 Codeigniter 的框架,但不一定是 CI,这可能与所有类似(我想)。

我有这段代码来观察focusblur事件。

$("#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.

第二个问题:您认为什么是更好的解决方案?

4

0 回答 0