C# 键入第二个字符且css看起来已损坏后,TypeAhead Autocomplete不起作用

C# 键入第二个字符且css看起来已损坏后,TypeAhead Autocomplete不起作用,c#,jquery,asp.net-mvc,typeahead.js,twitter-typeahead,C#,Jquery,Asp.net Mvc,Typeahead.js,Twitter Typeahead,这是我的JS,带有typeahead 0.10.0、bootstrap 3和Asp.net MVC 5 var jobCodes = new Bloodhound({ datumTokenizer: function (d) { return d.JobName; }, queryTokenizer: Bloodhound.tokenizers.whitespace, prefetch: "/api/jobservice/getjobcodes" }); jobCode

这是我的JS,带有typeahead 0.10.0、bootstrap 3和Asp.net MVC 5

var jobCodes = new Bloodhound({
    datumTokenizer: function (d) { return d.JobName; },
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    prefetch: "/api/jobservice/getjobcodes"
});

jobCodes.initialize();

$('#jobquery').typeahead(null, {
    name: 'job-codes',
    displayKey: 'JobName',
    source: jobCodes.ttAdapter()
});
下面是我返回的JSON数据示例:

[{"JobCodeId":101,"JobName":"Agricultural Sciences\r"},{"JobCodeId":102,"JobName":"Animal Sciences\r"},{"JobCodeId":103,"JobName":"Plant & Soil Sciences\r"}]
我遇到的第一个问题是,当我键入第一个字符时,我确实看到了一些建议,但没有像typeahead示例中那样的框css。我是否缺少任何css?

第二个问题是,当我键入第二个字符时,您可以在下面的屏幕截图中看到建议消失。


当我输入第二个字符时,我遇到了同样的问题,但我更新了猎犬datumTokenizer:

datumTokenizer: function (d) { return d.TagName; },
。。。为此:

datumTokenizer: function (d) { return Bloodhound.tokenizers.whitespace(d.TagName); },
我不确定
猎犬.tokenizers.whitespace的作用,但它确实帮了我的忙


至于CSS,我基于此使用了它-但我发现它不适用于最新版本的typeahead.js。对于第一个问题,v0.10中生成的typeahead的DOM结构与以前版本中生成的不同。确保你的CSS被相应地更新

对于第二个问题,
datumTokenizer
queryTokenizer
都需要返回一个令牌数组(即字符串)。但是,
datumTokenizer
只返回一个字符串。根据您想要的行为,我有两个建议:

如果只希望显示完整字符串匹配的建议,请执行以下操作:

var jobCodes = new Bloodhound({
  datumTokenizer: function (d) { return [d.JobName]; },
  queryTokenizer: Bloodhound.tokenizers.whitespace,
  prefetch: "/api/jobservice/getjobcodes"
});
或者,如果您希望显示单词匹配的建议,请尝试以下操作:

var jobCodes = new Bloodhound({
  datumTokenizer: function (d) { return Bloodhound.tokenizers.nonword(d.JobName); },
  queryTokenizer: Bloodhound.tokenizers.whitespace,
  prefetch: "/api/jobservice/getjobcodes"

}))

我厌倦了返回Bloodhound.tokenizers.whitespace,但仍然不能得到相同的结果。更新:对于引导的css问题,使用哪里可以找到css的示例?在typeahead的github回购协议中,我似乎找不到它。