代码之家  ›  专栏  ›  技术社区  ›  PM.

typeahead中的源是否有任何限制?

  •  1
  • PM.  · 技术社区  · 7 年前

    我使用的是jquerytypeahed from RunningCoder . 如果我的源代码中只有很少的记录,那么Typeahead工作得很好,但是如果我的源代码中有大约500条记录,那么Typeahead就不能工作。

    它与结果计数无关,结果计数可由 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条记录不起作用。

    其他信息: Text Subtext ,但用户只能在结果中看到文本,然后可以从匹配选项中进行选择。如果您想在多个字段上执行搜索,但只显示一个字段,这将非常有用。

    1 回复  |  直到 7 年前
        1
  •  0
  •   PM.    7 年前

    在我自己创建样本数据而不是依赖服务器响应之后,我就找到了答案。问题不在于结果的长度,而在于结果中的空条目。 在我的数据中,很少有对象具有 Subtext 作为NULL,这导致了这个问题,我通过用一个空字符串替换NULL来修复它,现在它可以正常工作了。