如何在typeahead中添加“默认荧光笔”消息?

时间:2013-05-13 14:36:37

标签: jquery bootstrap-typeahead

目前,我在Typeahead中看到,当查询没有结果时,它不会显示任何下拉列表或任何类型的消息,让用户知道返回的查询没有结果。

当查询没有返回任何内容时,有没有办法在下拉列表中只有一个结果显示“没有结果”?

到目前为止,我能想到的最佳解决方案是在结果列表中添加“无结果”对象,并使用匹配器来处理案例。但不知怎的,我觉得这很糟糕。

还有其他建议吗?

1 个答案:

答案 0 :(得分:2)

我目前使用的解决方案如下。

基本上我将一个空对象推入项目列表,但不推入对象地图。这将使分拣机相信阵列中至少有一个项目。因此,当您尝试从地图中获取对象时,在荧光笔中,该对象将是未定义的。

// sort our results
sorter: function(items) {
    if (items.length == 0) { 
        items.push(new Object()); 
    }
        return items;    
    },

highlighter: function(item) {
    comp = map[item];
    if (typeof comp == 'undefined') {
        return "<span>No Match Found.</span>";
    }

请注意,我正在处理对象的数组列表,而不是默认的字符串数组。

这里的好教程: http://tatiyants.com/how-to-use-json-objects-with-twitter-bootstrap-typeahead/

不是100%确定这是不是很好的做法,但它可以完成工作。