Typeahead:显示所有结果而不是精确的字符串匹配

时间:2016-04-26 13:51:52

标签: typeahead.js typeahead

我有一个搜索产品的输入框。它使用typeahead来获取和显示返回的数据。

当ajax响应包含的结果与我的输入值不完全匹配时,会出现问题。 例如:

input query = "daffalgane"

JSON data result is = 
{products: 
         { id:100, label: "dafalgan 500" },
         { id:101, label: "dafalgan 750mg" },
         { id:500, label: "daffalgane 600 mg" },
}

Typeahead仅显示id为500的那个,因为它具有精确(部分)字符串匹配。

为什么没有显示其他结果?对我来说更有意义的是,typehead只显示返回的数据集。

作为参考,这是用于输入框的配置:

 $('#suggestions').typeahead({
    minLength: 1,
    maxItem: 10,
    hint: false,
    highlight: false,
    emptyTemplate: 'NO RESULTS',
    source:{
        products: {
            display: "label",
            href: baseurl+'{{slug}}',
            url: [{
                type: "POST",
                url: baseurl+'/suggest',
                data: {
                    for: "{{query}}".trim()
                },
            }, "data.products"],

        },
   }});

1 个答案:

答案 0 :(得分:0)

我通过升级到typeahead版本2.3.4(http://www.runningcoder.org/jquerytypeahead/)来修复此问题 并将filter参数设置为false。

这可以防止对typeahead完成的结果进行过滤,只显示源。