我有以下想法,但我找不到任何代码段或类似示例,因此我不知道是否可以使用jQuery UI执行此操作。因此,在我的数据库中,我有一个表,其中每个客户都有一个ID和名称:
ID Name
1 John Example
2 Johnny Example
我现在要做的是,如果用户键入Joh,它应该以下列方式向他显示条目:
John Example - 1
Johnny Example - 2
所以我的问题是:是否有可能为我的自动完成功能做一个这样的显示?
我目前的视图和自动完成功能代码如下所示,只显示客户名称:
<script>
$("#CustomerName").autocomplete({
source: "/Customer/AutoCompleteCustomer",
minLength: 2
})
</script
谢谢,如果您需要任何进一步的信息,请告诉我,我会尽快提供。
答案 0 :(得分:1)
让我们看一下jQuery docs:
有两种支持的格式:
- 一系列字符串:[&#34; Choice1&#34;,&#34; Choice2&#34; ]
- 具有标签和值属性的对象数组:[{label:&#34; Choice1&#34;,value:&#34; value1&#34; },...]
以后,在讨论向服务器请求数据时
例如,如果源选项设置为&#34; http://example.com&#34;和 用户输入foo,将发出GET请求 http://example.com?term=foo。数据本身可以采用相同的格式 作为上述本地数据。 label属性显示在建议菜单中。
因此,只要您的服务器注意将数据作为字符串数组返回:
["John Example - 1", "Johnny Example - 2"]
或对象数组:
[{label: "John Example - 1", value: "1"}, {label: "Johnny Example - 2", value:"2"}]
jQuery自动完成功能将能够将其拾取并以您需要的方式显示它。