【问题标题】:remove message and organize results for autocomplete input field jquery删除消息并组织自动完成输入字段 jquery 的结果
【发布时间】:2014-07-15 18:09:27
【问题描述】:

如何删除消息并使用 css 在一个漂亮的下拉列表中组织结果(不想要引导程序或准备好的 css 文件)

http://jsfiddle.net/SCuas/96/

var aCleanData = ['test','test1','abcd','abee','abc5','test4','te7','tee'];

$('#test').autocomplete({
    source: aCleanData,
    minLength: 2,
    search: function(oEvent, oUi) {
        var sValue = $(oEvent.target).val();
        var aSearch = [];
        $(aCleanData).each(function(iIndex, sElement) {
            if (sElement.substr(0, sValue.length) == sValue) {
                aSearch.push(sElement);
            }
        });
        $(this).autocomplete('option', 'source', aSearch);
    }
});

和 html <input id="test">

【问题讨论】:

    标签: jquery css autocomplete real-time


    【解决方案1】:

    您可以将消息设置为失败,将结果消息设置为空。 JSFiddle 上的工作示例。 var aCleanData = ['test','test1','abcd','abee','abc5','test4','te7','tee'];

    $('#test').autocomplete({
        source: aCleanData,
        minLength: 2,
        search: function(oEvent, oUi) {
            var sValue = $(oEvent.target).val();
            var aSearch = [];
            $(aCleanData).each(function(iIndex, sElement) {
                if (sElement.substr(0, sValue.length) == sValue) {
                    aSearch.push(sElement);
                }
            });
            $(this).autocomplete('option', 'source', aSearch);
        },
        messages: {
            noResults: '',
            results: ''
        }
    });
    

    过滤后的结果位于 ul > li 元素中,您可以根据需要设置它们的样式。

    示例:

    .ui-autocomplete {
        width:100px;
        padding:0;
        margin:0;
        z-index:1000;
    }
    .ui-autocomplete li {
        background: #eee;
        text-align:left;
        cursor: pointer;
    }
    .ui-autocomplete li:hover {
        background: #ccc;
    }
    .ui-autocomplete li a {
        cursor: pointer;
        padding: 6px 10px;
        display: block;
    }
    .ui-autocomplete li a.ui-state-focus {
        background: #DE9C9C;
    }
    

    将滚动添加到您的过滤器列表下拉集max-height 进行设置。

    .ui-autocomplete {
      max-height: 100px;
      overflow-y: auto;
      overflow-x: hidden;
      padding-right: 20px;
    }
    

    【讨论】:

    • 这就是我所追求的!使用向上/向下键时有没有办法突出显示选项?另外,如果显示的选项太多,如何添加滚动条?就像把整个东西放在一个高度为 100px 的 div 中,溢出-y
    • 是的,最大高度有效!你能告诉我如何在使用键盘上/下键时对选项进行悬停效果吗?
    • @Gadgetster 为 .ui-state-focus 设置一些颜色,就完成了。我已经更新了代码。
    猜你喜欢
    • 2013-12-01
    • 2017-12-14
    • 1970-01-01
    • 1970-01-01
    • 2016-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多