如何在keyup上手动触发jquery自动完成

时间:2016-07-11 13:07:09

标签: jquery autocomplete keyup

我想在键盘上手动触发jquery自动完成,只有在按下星号后才能触发#34; *"在输入结束时。

这就是我的所作所为:

<input type="text" name="test" id="mainSearchBox">

var availableTags = [
   "Perl",
   "PHP",
   "Python",
   "Ruby"
];
$('input#mainSearchBox').keyup(function(){
    var value = $('input#mainSearchBox').val();
    if(value.substr(value.length - 1) == "*"){
        $(this).autocomplete({
            source: availableTags,
            minLength:0
        });
    } else {
        $(this).autocomplete("close");
    }
});

jsfiddle

1 个答案:

答案 0 :(得分:1)

下面, 尝试这样做:

&#13;
&#13;
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<input type="text" name="test" id="mainSearchBox">
&#13;
autocomplete
&#13;
&#13;
&#13;

看看:

  1. http://api.jqueryui.com/autocomplete/#method-search
  2. http://api.jqueryui.com/autocomplete/#method-enable
  3. http://api.jqueryui.com/autocomplete/#method-disable
  4. 我做了什么:

    1. 在文本框中加载/初始化*,然后将其禁用。
    2. 每当触发按键事件时,我检查输入中的最后一个字符是否为autocomplete
    3. 一个。如果是,则在文本框中启用search并强制*,输入值不带<div class="{{ns}}-dm-content-target" #target> <ng-content select="[target]"></ng-content> </div> 。 湾如果不是,则禁用自动完成。