jQuery UI自动完成多个值 - 如何在空格而不是逗号后显示建议列表?
我正在尝试为jQuery UI使用自动完成插件,specifically the multiple values functionality(带有本地数组)。目标是“智能感知”型效应。jQuery UI自动完成多个值 - 如何在空格而不是逗号后显示建议列表?
意见箱出现* 你有一个逗号分隔的entires ONLY *后。
例如:
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*/);
}
(删除逗号)
这是一个老Q,但我也需要这个。在我的情况下,在拆分函数中简单移除逗号会产生奇怪的行为。
卡尔文需要L编辑:您可能还需要编辑的演示源代码分裂()函数:
function split(val) {
return val.split(/,\s*/);
}
(Remove the comma)
代替填充式与选择的价值,它也连接起来原始部分段: 例如输入字母a,aj(等)+空格+填入的单词。此外,自动建议的行为更为粗糙,而不是过滤更多的字母输入,而是显示更多不相关的结果。
解决方案是简单地用空格替换逗号:
function split(val) {
return val.split(/ \s*/);
}
这就是它 - 我一直在寻找的方式深入到这不是我需要:)非常感谢! – Evan 2012-02-16 04:32:24