使用jquery自动完成时无法触发更改事件

时间:2017-01-25 11:57:13

标签: javascript jquery

我有一个问题。当使用jQuery输入有一些值时,更改事件无法触发。我在下面解释我的代码。

<input name="" type="text"  class="inputfield" id="auto">
var city = [
    'Alabama', 'Alaska', 'Arizona'
];

$('#auto').autocomplete({
    source:[city],
    minLength: 1,
    change: function (event, ui) { alert('hello'); }
});

这里我需要当一个值从城市数组中选择输入字段时,更改事件应该触发,在我的情况下不会发生。请帮帮我。

2 个答案:

答案 0 :(得分:2)

change事件工作正常,但请注意,只有在元素对其值进行更改后模糊时才会触发。

如果您希望在进行选择时触发事件,请使用select事件:

$('#auto').autocomplete({
    source: city,
    minLength: 1,
    select: function(event, ui) {
        alert('hello');
    }
});

Working example

答案 1 :(得分:0)

添加自动对焦并在焦点上触发警报

&#13;
&#13;
var city = [
    'Alabama', 'Alaska', 'Arizona'
];

$('#auto').autocomplete({
    source: city,
    minLength: 1,
    autoFocus: true,
focus: function(event, ui) {
        alert('hello');
    }
});
&#13;
  <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  <link rel="stylesheet" href="/resources/demos/style.css">
  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<input name="" type="text" class="inputfield" id="auto">
&#13;
&#13;
&#13;