ASP.NET MVC:jQuery UI自动完成的输出格式(显示值标签密钥对)

时间:2016-10-27 11:58:11

标签: javascript jquery asp.net asp.net-mvc jquery-ui

我有以下想法,但我找不到任何代码段或类似示例,因此我不知道是否可以使用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

谢谢,如果您需要任何进一步的信息,请告诉我,我会尽快提供。

1 个答案:

答案 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自动完成功能将能够将其拾取并以您需要的方式显示它。