0

问题是这样的:在我的程序中,用户首先获得了名字的选项 - 所以希望他喜欢选项中的某些内容并且他选择了它 - 到目前为止一切都很好!
但是当他输入空格时,他开始接收第二个名字的选项,如果他喜欢某样东西并选择它 - 然后自动完成只会删除第一个名字。有什么办法可以改变吗?


你好 Rich 非常感谢你或你的回复 - 现在我决定改变我的任务,这是我在用户输入例如 I 字符时所做的,我得到了所有以 I 开头的名字 - 到目前为止没问题!并且当他键入空格和 K 时,例如,我向我的 Web 服务发出请求,该服务获取以 K 开头的中间名或以 K 开头的姓氏(其中一个应该以 K 开头,对于 Iwelina),所以在这个Iwelina 的案例我有 RADULSKA KOSEWA 和 KOSEWA NEDEWA!对于自动完成的来源,我将 iwelina 与 (radulska kosewa) 和 iwelina 与 (KOSEWA NEDEWA) 连接起来,所以最后我得到了 IWELINA IELINA RADULSKA KOSEWA 和 IWELINA KOSEWA NEDEWA !!!唯一的问题是,当我输入 Iwelina K 时,我只得到 IWELINA KOSEWA NEDEWA !!!这里是自动完成的代码

 $('#input').autocomplete({
                source: function(request, response) {
                    var matcher = new RegExp( $.ui.autocomplete.escapeRegex(request.term, " "));
                    var data = $.grep( srcAutoComp, function(value) {
                        return matcher.test( value.label || value.value || value );
                    });
                    response(data);
                }
            });

如果你知道我可以如何改变它,我会很高兴得到帮助

4

1 回答 1

0

我不明白,当用户开始输入第二个名字时,他得到的结果只是姓氏。例如,如果他键入“Joh”并从选项中选择“John”,然后继续键入“John Do”,那么您的下拉菜单怎么可能只为他提供姓氏的结果,例如“Doe” ?

无论如何,假设这真的发生了,您可以将源数据中名字和姓氏的所有组合组合起来,当用户键入“Joh”选择“John”然后在下拉列表中显示“John Doe”继续键入“John Do”。

另一种方法是对搜索和响应事件进行复杂的更改,以在空格存在后进行搜索,并在完成对姓氏的搜索后将其与第一个字符串重新组合。如果你给我你的源数据,我可以为此整理一些东西。

于 2013-03-16T03:01:38.817 回答