Typeahead.js返回不需要的值

时间:2014-07-31 16:20:28

标签: javascript twitter-bootstrap typeahead.js

我很高兴让整个过程发挥作用,但还有最后一个错误。当我单击/悬停在已过滤的列表上时,搜索字节中的值显示一个对象而不是所选的值。

$('#searchbox').typeahead({
    limit: 10,
    minLength: 3,
    remote: {
      url: '/typeahead?s=%QUERY',
      filter: function(parsedResponse) {

            return _.map(parsedResponse, function(res){
                return {
                    value: res, /// I need this object for further functions, but I don't want this to be displayed in the searchbox....
                }
            });

      }


    },
    template: function (data) {
            return '<p>'+data.value.name+'</p>';
    }
});

1 个答案:

答案 0 :(得分:0)

the docstemplate是哈希,而不是函数。更具体地说,数据集可以支持不同类型的模板。您正在寻找的是suggestion模板。

Soo ...你的调用和选项对象看起来像这样(未经测试):

$('#searchbox').typeahead({
    limit: 10,
    minLength: 3,
    remote: {
        url: '/typeahead?s=%QUERY',
        // ..filter and other stuff ..
    template: {
        // Modifies what's displayed in the suggestion list
        suggestion: function (data) {
            return '<p>'+data.value.name+'</p>';
        }
    },
    // Modifies what's displayed in the input after a suggestion is selected
    displayKey: function(data) {
         return data.value.name;
    }
});