Jquery自动完成更改事件未设置指定输入​​的焦点

时间:2014-12-30 03:34:22

标签: javascript jquery autocomplete

我真的尝试了所有我能想到的东西,但却无法弄清楚为什么这不会把焦点放在我指定的输入上。

我想要做的是,无论何时从列表中选择自动填充项目,都应将焦点设置为#areyoufrom输入

可以在此处找到该页面http://mysmart.travel自动填充功能按预期工作,但不会更改焦点。

这是我用来触发更改事件的代码,它可以很好地记录到控制台,但不会将焦点设置在其他输入上。

$( "#areyourfrom" ).autocomplete({
   change: function(event, ui) { 
     $("#areyourgoing").focus();
     console.log(change);
   }
});

数据是从外部源提取的并且工作正常但由于某种原因我收到错误

TypeError: this.source is not a function

我不确定这是否与自动完成相关,但是没有将焦点更改为其他输入。

1 个答案:

答案 0 :(得分:0)

您的代码未定义源属性,因此它为NULL。检查the documentation并定义您的来源。否则它甚至无法访问您的代码。

为了看到这一点,在Chrome中,我激活了开发人员工具。选择暂停异常的选项,等待异常,检查堆栈跟踪,因为它与你提供的内容没有任何关系,我检查了源代码,找到jquery-ui.js第6249行,将值设置为{ {1}}让我排队,因为它必须是一个可以覆盖的设置......这导致了我的文档。

是的,有点迂回的方式找到去哪里,但这就是野兽的本性! :)