javascript - jQuery:在输入集中填充自动完成功能

标签 javascript jquery autocomplete

我无法弄清楚如何动态填充输入的自动完成列表。这是一些测试代码:

<input id="AnlNr">

[....]

var AnlNrTags = ["five","six","seven","eight"];

jQuery( "#AnlNr" )
    .autocomplete({
        source: AnlNrTags,
        }
     })

     .focus(function() {
         AnlNrTags = ["one","two","three","four"];
     });

自动填充填充“五”、“六”、“七”、“八”。好的。现在,当输入聚焦时,我想要它“一”,“二”,“三”,“四”,但自动完成选择仍然像以前一样。似乎自动完成小部件的设计目的不是在初始化后重新评估自动完成源。

如何更改 .focus 中的自动选择列表?

谢谢

阿丽娜。

最佳答案

要在初始化后更改自动完成功能的 source 属性,您需要使用 option 属性调用它。试试这个:

.focus(function() {
    AnlNrTags = [ "one", "two", "three", "four" ];
    jQuery("#AnlNr").autocomplete('option', 'source', AnlNrTags);
})

Example fiddle

请注意,您的模式有点偏离。因为一旦 input 元素获得焦点,您就会更改 source,这意味着第一组选项 56 code> 等永远不会被看到。

关于javascript - jQuery:在输入集中填充自动完成功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31355513/

相关文章:

javascript - Kendo UI 自动完成 - 两次选择同一事物时更改事件未触发

javascript - 如何使用女巫设置为百分比的jquery直接获取转换的css值

javascript - jQuery 不能在我的网站上运行?

android - 立即在 Android 上显示自动完成

javascript - 在 AngularJS 中将变量从 Controller 传递到 View

javascript - 在用户访问时预缓存网站

Javascript - 无法从嵌套 XML 文件获取数据 - 无法读取 null 属性

V8 中 Javascript 的奇怪性能

javascript - jQuery 中用于过滤结果的复选框

jquery - 打开 select2 下拉菜单时禁用自动换行