匹配功能预先输入

时间:2013-06-18 10:54:43

标签: javascript jquery search typeahead.js

我正在尝试使用typeahead的matcher函数来检查我的搜索是否返回结果。如果它没有返回结果,我想在搜索栏的末尾附加一个div。然而,匹配器功能导致我的荧光笔断开并返回随机结果。有没有人知道是否有办法在不使用匹配器功能的情况下完成此操作或在此实例中如何正确使用它?我想我可能采取了错误的做法。

$('.shop_search').typeahead({
        source: function (query, process) {
            map = {};
            $.each(data, function (i, data) {
                map[data.text] = {
                    address: data.text2,
                    name: data.text,
                    post: data.post
                };
                shops.push(data.text);
            });
            process(shops);
            shops = [];
        },

        minLength: 3,
        matcher: function (item) {
            if (item.indexOf(this.query) == -1) {
                $(".dropdown-menu").append($('<li><button class="btn" >Advanced                                                   Search</button></li>'));
                return true;
            }
        },

        highlighter: function (item) {
            var p = map[item];
            var itm = ''
                     + "<div class='typeahead_primary'>" + p.name + "</div>"
                     + "<div class='typeahead_secondary'>" + p.address +  </div>"
                     + "</div>"
                     + "</div>";
            return itm;
        },
     });

1 个答案:

答案 0 :(得分:0)

我觉得你忘了“

+ "<div class='typeahead_secondary'>" + p.address +  </div>"

应该是

+ "<div class='typeahead_secondary'>" + p.address +  "</div>"