繁体   English   中英

如何自定义返回的jQuery UI自动完成列表

[英]How to customise returned list of jQuery UI autocomplete

我有一个必须实现自动完成的要求,但是我不确定是否可以在jQuery UI自动完成中实现。 如果我无法在jQuery UI自动完成功能中执行此操作,那么您可以建议可以执行此操作的库,还是应该构建自己的库?

要求是当用户键入文本框提示可能的结果时,我有一个列表只是普通的javascript排序数组。 当用户单击结果时,列表应更改为在单击的结果上方显示3个结果,在单击的结果下方显示3个结果。

这是我想做的代码。


    $(function() {
        var projects = [
            "List1","List2","List3","List4","List5","List6","List7","List8"
        ];

        $( "#project" ).autocomplete({
            minLength: 0,
            source: projects,
            focus: function( event, ui ) {
                $( "#project" ).val( ui.item.label );
                return false;
            },
            select: function( event, ui ) {
                $( "#project" ).val( ui.item.label );
                return false;
            }
        })
        .data( "autocomplete" )._renderItem = function( ul, item ) {
            return $( "
  • " ) .data( "item.autocomplete", item ) .append( "" + item.label + "" ) .appendTo( ul ); }; });

    例如,如果用户键入“ Li”,则应弹出“ List1”,“ List2”,“ List3”,“ List4”,“ List5”。 用户单击“ List3”后,结果列表应更改为“ List1”,“ List2”,“ List3”,“ List4”,“ List5”,“ List6”,并忽略“ List7”,“ List8”

    在jQuery UI Autocomplete中甚至有可能吗?

    是的,听起来您只需要询问所引用的选项,然后使用.next()或.prev()jquery函数即可。 这些是相对的迭代工具(一个向前,一个向后),需要一点技巧即可完成您想要的。 这是简单的jquery,因此您需要将其构建到您的侦听器中(本例中为击键)

    下一个: http : //api.jquery.com/next/

    上一个: http : //api.jquery.com/prev/

    暂无
    暂无

    声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

     
    粤ICP备18138465号  © 2020-2024 STACKOOM.COM