【问题标题】:Auto Suggest when press @ anywhere in the input field in JavaScript [closed]在JavaScript的输入字段中按@时自动建议[关闭]
【发布时间】:2013-12-30 06:15:04
【问题描述】:

当我在输入字段的任意位置按 @ 时,我想要自动建议电子邮件地址 例子: 当我写一些像“John”这样的名字并按@然后自动建议如下:

john@gmail.com
john@yahoo.com
john@hotmail.com

任何人都可以在 JavaScript 中提出建议

【问题讨论】:

标签: javascript jquery ajax jquery-autocomplete


【解决方案1】:

您可以通过覆盖 jQuery.ui.autocomplete 中的 keypress 事件来完成此操作,如 answer 中所述。在没有覆盖的情况下,您可能需要按照 @Brad's answer 的规定做很多事情。

$(function () {
     var acList = ['gmail.com',
'yahoo.com',
'hotmail.com'
];
     var lastDot = -1;

     $("#tags").autocomplete({
         minLength: 0,
         source: function (request, response) {
             if (lastDot>=0) {
                 response($.ui.autocomplete.filter(
                 acList, extractLast(request.term.substring(lastDot+1))));          
             }
         },
         focus: function () {
             return false;
         },
         select: function (event, ui) {
             var terms = split(this.value);
             terms.pop();
             terms.push(ui.item.value);
             terms.push("");
             this.value = this.value.substr(0,lastDot+1);
             this.value += terms.join("");
             return false;
         }
     }).on("keypress", function (e) {
         var keys = [];
         keys.unshift(e.which);
         if (String.fromCharCode(keys[0]) == "@") {
             lastDot =  $("#tags").val().length;

         }
     });

     function split(val) {
         return val.split(/,\s*/);
     }

     function extractLast(term) {
         return split(term).pop();
     }
 });

JSFiddle

【讨论】:

  • 谢谢普拉文杰加纳坦
猜你喜欢
  • 1970-01-01
  • 2015-02-13
  • 2015-12-29
  • 1970-01-01
  • 2012-06-27
  • 1970-01-01
  • 2019-12-16
  • 2023-03-15
  • 2015-09-10
相关资源
最近更新 更多