首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在用户清除jQuery自动完成中的输入字段时显示默认数据

如何在用户清除jQuery自动完成中的输入字段时显示默认数据
EN

Stack Overflow用户
提问于 2012-11-26 21:11:21
回答 1查看 312关注 0票数 1

我使用的是jquery-ui-autocomplete插件,但稍微调整了一下,给人一种自动加载的感觉,而不是自动完成。我在下面的输入栏下面的div中显示结果,而不是它的下拉视图。

我已经将minlength设置为1,这样在输入框中单击时,它不会更改div中的默认数据。

但是一旦用户输入了内容,结果就会显示在div中,现在如果用户清除了输入字段,它就会继续显示最后的搜索结果。我想在这里显示一些在页面加载时显示的默认数据。我该怎么做呢?

代码片段:

代码语言:javascript
复制
$("#search-help").autocomplete({
    source: function (request, response) {
        var term = $.ui.autocomplete.escapeRegex(request.term)
        , containsMatcherTitle = new RegExp(term, "i")
        , containsTitle = $.grep(data, function(value) {
            return containsMatcherTitle.test(value.value);
        });

        response((containsTitle.slice(0, 5));
    },
    focus: function( event, ui ) {

        return false;
    },
    minLength: 3,
    select: function(event, ui) {

            return false;
    },
    search: function(event, ui) {
        $("#MY_DIV ul").empty();
    }
}).data( "autocomplete" )._renderItem = function( ul, item ) {

    return $( "<li></li>" )
        .data( "item.autocomplete", item )
        .append( "<a>" + item.value + "</a><span>" + item.desc + "</span>" )
    .appendTo($('#MY_DIV ul'));
};
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-27 02:26:30

目前还不清楚您希望在div中使用什么格式,但您可以创建如下所示的事件:

代码语言:javascript
复制
$("#search-help").keyup(function( ) {
       if (!this.value) { 
              $('#MY_DIV').val("Default text");
       }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13565560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档