微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

关于Jquery AutoComplete建议的问题

如何解决关于Jquery AutoComplete建议的问题

我遇到了问题,但无法解决

因此,在一个论坛上,我想创建一个脚本,当您输入关键字:stick时,该脚本允许您在建议框中选择标签

但是问题在于该脚本始终会检测到“:”,因此当我键入其他单词时,它仍然显示建议,我将链接与完整的代码在这里https://jsfiddle.net/z4v689fj/10/

$(document).ready(function(){



$("head link[rel='stylesheet']").last().after("<link rel='stylesheet' href='//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css' type='text/css' media='screen'>");

    var jsonRisitas = 
[{"label":" :risitas :pixel :risi :reso :reso","value":"http://image.noelshack.com/fichiers/2017/19/1494259658-pixistas2.png"},{"label":" :risitas :possedo :risi :issou :deforme :yeux :possede :demon :defonce :jpp :zoom :clown :cirque :circus :circus","value":"http://image.noelshack.com/fichiers/2019/22/2/1559078100-1558768973-risitas-possedo-clown.png"}];
    function split( val ) {
        return val.split( / \s*/ );
    }
    function extractLast( term ) {
        return split( term ).pop();
    }

    $( "#message_topic" )
    // don't navigate away from the field on tab when selecting an item
        .on( "keydown",function( event ) {
        if ( event.keyCode === $.ui.keyCode.TAB &&
            $( this ).autocomplete( "instance" ).menu.active ) {
            event.preventDefault();
        }
    })
        .autocomplete({
        minLength: 4,source: function( request,response ) {
            if (request.term.indexOf(":") >= 0) {
                console.log(request.term);
                // delegate back to autocomplete,but extract the last term
                response( $.ui.autocomplete.filter(
                    jsonRisitas,extractLast( request.term ) ) );
            }},focus: function() {
            // prevent value inserted on focus
            return false;
        },select: function( event,ui ) {
            var terms = split( this.value );
            // remove the current input
            terms.pop();
            // add the selected item
            terms.push( ui.item.value );
            // add placeholder to get the comma-and-space at the end
            terms.push( "" );
            this.value = terms.join( " " );
            return false;
        }
    }).autocomplete( "instance" )._renderItem = function( ul,item ) {
        $('.suggestion').css({
            'height' : '80px'
        });
        return $( "<li>" )
            .append( "<div class='suggestion'><img width='50px' src='" + item.value + "'/>" +  item.label+"</div>" )
            .appendTo( ul );
    };

    /*.autocomplete( "instance" )._renderItem = function( ul,item ) {
        return $( "<li><div><img width='50px' src='"+item.value+"'><span>"+item.value+"</span></div></li>" ).appendTo( ul );
    };*/
    })
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>

<textarea id="message_topic"></textarea>

这些词如下:胸膜,里尔,risitas等。

如何仅在输入“:” + 3个字母并且不始终显示时才显示建议?

例如,我没有放入“:”,但它仍然显示,因为图像的链接中有“:”:/ Example 还有一个问题,我只想显示建议中的图像,而不显示标签,我已经删除标签名称,它不起作用:/。

先谢谢您。 史蒂夫

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?