繁体   English   中英

jQuery UI自动完成多个值-如何在空格后而不是逗号后显示建议列表?

[英]jQuery UI AutoComplete Multiple Values - how can I show the suggestion list after a space instead of a comma?

我正在尝试将AutoComplete插件用于jQuery UI, 特别是多值功能 (带有本地数组)。 目标是“智能”效果。

逗号分隔后,建议框 *显示。

例如:

test1, <suggestion list appears>

就我而言,我希望建议列表出现在SPACE之后 ,而不是逗号,即:

test1<space> <suggestion list appears>

可以直接在上面链接的演示页面上看到此功能(或缺少此功能),只需键入“ Clojure”,然后该框将自动用逗号填充,然后键入另一个单词(例如Java),然后重新打开建议列表。 如果执行相同操作,请键入Clojure,删除逗号,然后按空格键,将不再显示建议。

我试图打入AutoComplete代码,但没有看到导致这种情况发生的原因-我不反对修改实际的jQuery UI源本身以实现这种情况,或者反对使用支持此功能的完全不同的插件系统。

感谢您的帮助-如果您需要更多详细信息,请告诉我!

您可以通过修改select事件回调来更改插入的行为。 如果单击演示页面上的“查看源代码”,则会看到this.value = terms.join( ", " ); 只需将其更改为this.value = terms.join( " " );

编辑:您可能还希望在演示源代码中编辑split()函数:

function split( val ) {
  return val.split( /,\s*/ );
}

(删除逗号)

这是一个老问题,但我也需要这个。 在我的情况下,简单地删除拆分函数中的逗号会产生奇怪的行为。

Calvin L Edit:您可能还想在演示源代码中编辑split()函数:

function split( val ) {
  return val.split( /,\s*/ );
}
(Remove the comma)

除了使用所选值进行填充外,它还连接了原始的部分段:例如,输入字母a,aj(等)+空格+填充词。 同样,自动建议的行为也很奇怪,与其过滤更多的字母,不如过滤掉更多的无关结果。

解决方案是用空格简单地替换逗号:

function split( val ) {
  return val.split( / \s*/ );
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM