在typeahead中是否有源限制?

时间:2018-05-29 06:24:05

标签: asp.net-mvc typeahead

我正在使用来自RunningCoder的JQuery类型。如果我的源中有很少的记录,则Typeahead可以正常工作,但如果我的源有大约500条记录则无效。

与结果计数无关,可以通过maxItem参数进行管理。此外,从服务器获取JSON字符串没有问题,因为我可以毫无问题地打印它。

我理所当然地知道,我不应该在我的页面预加载它们并根据输入搜索它,但在我的情况下,点击服务器进行搜索不是一个选项,我想从静态数据执行搜索在我看来,我有。这是我的代码:

$.typeahead({
                input: "#List .typeahead",
                minLength: 3,
                templateValue: "{{Text}}",
                display: ["Text", "Subtext"],
                emptyTemplate: 'No results for "{{query}}"',
                template: '<span>' +
                    '<span class="result" id="{{Value}}">{{Text}}</span>' +
                    '</span>',
                source: {
                    Issuer: {
                      data: @Html.Raw(Model.EveryThing)
                    }
                }
            });

在上面的代码中,如果Model.Everything有40-50条记录,那么它可以正常工作,但不适用于大约500条记录。

附加信息: 在弄清楚问题之后,想稍微解释一下,因为这可能对某人有所帮助。通过使用上面的代码,您可以根据两个字段TextSubtext搜索列表,但用户只能看到结果中的文本,然后可以从匹配的选项中进行选择。如果您想在多个字段上执行搜索但只显示一个字段,这将非常有用。

1 个答案:

答案 0 :(得分:0)

在我自己创建示例数据之后计算出来,而不是依赖于服务器响应。问题不在于结果的长度,而是结果中的空条目。 在我的数据中,很少有Subtext的对象为NULL,这导致了问题,我通过用空字符串替换NULL来修复它,现在按预期工作。