我编写了一个带有 jQuery UI 自动完成功能的页面。
用户旨在使用自动完成功能从地点列表中选择一个位置。在此改进之前,用户必须从一长串列表中选择一个位置,这会更好,除了一个问题。
位置的格式如下:
“加拿大”
“加拿大 -> 阿尔伯塔”
“加拿大 -> 英属哥伦比亚”
“美国”
“美国 -> 阿拉巴马州”
“美国 -> 阿拉斯加”
等等。因此,我通过键入“CA”来测试这个应用程序,期望列出以“CA”开头的国家和州,例如:“加拿大”、“美国 -> 加利福尼亚”、“墨西哥 -> 坎佩切”。
然而,令我沮丧的是,我看到所有加拿大省份一一列出,因为“CA”与“Canada”中的“CA”匹配。我现在有近二十个选项可供选择。
用户在查找州时必须看到带有国家名称和州名称的层次结构,但是“加拿大”作为国家必须是单个匹配作为单个位置。
如何设置 jQuery 自动完成功能以允许我在这么多单词中指定仅匹配“->”右侧的文本?
现在,在我的 Javascript 代码中,我有 var locations = "[{'label':'Canada','value','Canada'},{'label':'Canada -> Alberta','value':'阿尔伯塔'}...]。
我不想让这项工作异步进行。我担心这会导致太多的 Web 服务调用。