jQuery - 自动完成 - 击键错误
Posted
技术标签:
【中文标题】jQuery - 自动完成 - 击键错误【英文标题】:jQuery - Autocomplete - keystroke errors 【发布时间】:2012-01-18 19:41:58 【问题描述】:我在应用程序的文本框中添加了自动完成功能 -
$( "#cplPageContent_ctlInputSrch_txtSearch" ).autocomplete(
source: aAvailableTags
);
aAvailableTags 是一个逗号分隔的列表。
我包括 - http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js 和http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js。
每次我在此文本框中输入内容时,都会收到 JScript 运行时错误 - 'PAGE UP' 为 null 或不是对象。 -要么- 'PAGE DOWN' 为 null 或不是对象。
有一系列大约 6-8 个错误。什么会导致这些错误?
【问题讨论】:
你能发布你的 aAvailableTags 变量吗? aAvailableTags = namelast,namefirst,email jqueryui.com/demos/autocomplete 必须是数组。 【参考方案1】:试试这个:
$("#cplPageContent_ctlInputSrch_txtSearch").autocomplete(
source: $.makeArray(aAvailableTags)
);
【讨论】:
所有这些选项都有意义。我尝试了每一个,但我仍然得到同样的错误。就像我包含的其中一个 js 库有问题一样。这可能吗? 听起来好像发生了其他事情。尝试将自动完成及其源代码放入 jsFiddle 并删除所有其他变量。 是的,这行得通。文本框似乎正确加载了自动完成选项。【参考方案2】:确保source
是一个数组。
所以:
aAvailableTags = ['namelast', 'namefirst', 'email'];
或
aAvailableTags = [namelast, namefirst, email];
如果 namelast
、namefirst
、email
已定义。
Here 是工作代码。
【讨论】:
所以在我的代码中,我可以将源更改为 - source: aAvailableTags.split(',') 吗? @duckmite 如果aAvailableTags
是一个包含逗号分隔值的字符串,那么是的,完全正确:)。以上是关于jQuery - 自动完成 - 击键错误的主要内容,如果未能解决你的问题,请参考以下文章