怎么做' @ somename'喜欢推特功能?

时间:2016-04-14 07:47:20

标签: javascript jquery jquery-ui twitter autocomplete

我正在尝试在Twitter上执行类似的功能。 如果我在文本框中写@J,列表应该显示自动填充起始名称" Javascript"," Java"," JQuery"。

当我选择Jquery时,它应显示在TextBox中。我从Jquery获得了自动完成代码。但我无法做到这一点' @'功能。

以下是我到目前为止所做的代码:

<html lang="en">
    <head>
        <meta charset="utf-8">
            <title>autocomplete demo</title>
            <link rel="stylesheet" href="https://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">  
                <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
                <script src="https://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>  


            </head>
            <body> 
                <label for="autocomplete">Select a programming language: </label>
                <input id="autocomplete"> 
                    <script>
var tags = [ "Javascript", "Jquery", "Java" ];
document.getElementById('autocomplete').onkeypress = function (e) {
        if (e.keyCode === 64 ) {        

            $( "#autocomplete" ).autocomplete({
  source: function( request, response ) {
          var matcher = new RegExp( "^" + $.ui.autocomplete.escapeRegex( request.term ), "i" );
          response( $.grep( tags, function( item ){
              return matcher.test( item );
          }) );
      }
});
                }
        else
        {
            return false;
        }
    };



                    </script> 
                </body>
            </html>

2 个答案:

答案 0 :(得分:1)

试试这个:

http://jsfiddle.net/gtnf41co/5/

它检查输入值以@:

开头
if (this.value.search("@") == 0)
然后

取出请求期限中的@

request.term.replace("@", "") 

答案 1 :(得分:0)

您可以通过在代码中添加@符号来实现自动填充功能:

<script>
var tags = [ "@Javascript", "@Jquery", "@Java" ];

$( "#autocomplete" ).autocomplete({
  source: tags      
});
</script>