我正在尝试在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>
答案 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>