首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动补全功能:如何加载与起始字母相关的文本

问自动补全功能:如何加载与起始字母相关的文本
EN

Stack Overflow用户
提问于 2013-09-17 17:36:57
回答 2查看 168关注 0票数 1

我正在对我的表单使用自动完成功能。我使用下面的jquery脚本来实现自动补全功能。

代码语言:javascript
复制
<script>
$( "#autocomplete" ).autocomplete({
  source: [ "c++", "java", "php", "coldfusion", "javascript", "asp", "ruby" ]
});
</script>

通过上述代码得到的o/p是它获取与我们在输入框中输入的字母相关的所有单词。例如:如果我输入" C“,那么它将获取所有包含C的单词,但我希望这些单词只以C开头。

HTML部分是:

代码语言:javascript
复制
<label for="tags">Tags: </label>
  <input id="tags" />

请任何人在this....Thanks上提供帮助

EN

回答 2

Stack Overflow用户

发布于 2013-09-17 17:43:18

HTML部件:

代码语言:javascript
复制
 <label for="tags">Tags: </label>
 <input id="tags" />

替换为:

代码语言:javascript
复制
<label for="autocomplete">Tags: </label>
  <input id="autocomplete" />

和Js部分

代码语言:javascript
复制
 <script>
 $( "#autocomplete" ).autocomplete({
    source: [ "c++", "java", "php", "coldfusion", "javascript", "asp", "ruby" ]
 });
</script>

替换为:

代码语言:javascript
复制
<script>
var tags = [ "c++", "java", "php", "coldfusion", "javascript", "asp", "ruby" ];
 $( "#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 );
      }) );
  }
 });

​

看起来不错

DEMO

票数 3
EN

Stack Overflow用户

发布于 2013-09-17 17:59:14

请尝试以下代码:

代码语言:javascript
复制
<title>Autocomplete</title>
<body>
 <label for="tags">Tags: </label>
 <input id="tags">
</body>

Javascript:

代码语言:javascript
复制
var availableTags = [
 "ActionScript",
 "AppleScript",
 "Asp",
 "BASIC",
 "C",
 "C++",
 "Clojure",
 "COBOL",
 "ColdFusion",
 "Erlang",
 "Fortran",
 "Groovy",
 "Haskell",
 "Java",
 "JavaScript",
  "Lisp",
  "Perl",
  "PHP",
 "Python",
 "Ruby",
 "Scala",
 "Scheme"
];
$( "#tags" ).autocomplete({
   source: function( request, response ) {
    var matches = $.map( availableTags, function(tag) {
      if ( tag.toUpperCase().indexOf(request.term.toUpperCase()) === 0 ) {
       return tag;
     }
    });
   response(matches);
 }
});

我已经从jQuery论坛copied这个脚本。

下面是相同的JsFiddle。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18846283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档