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

时间:2012-11-26 13:11:21

标签: jquery autocomplete jquery-ui-autocomplete

我正在使用jquery-ui-autocomplete插件,但略微调整它以提供自动加载感觉而不是自动完成。 我在输入字段的下方显示结果而不是下拉视图。

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

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

代码段:

$("#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'));
};

1 个答案:

答案 0 :(得分:0)

目前尚不清楚div中您想要的格式,但您可以创建如下事件:

$("#search-help").keyup(function( ) {
       if (!this.value) { 
              $('#MY_DIV').val("Default text");
       }
});