twitter typeahead ajax结果并不全部显示

前端之家收集整理的这篇文章主要介绍了twitter typeahead ajax结果并不全部显示前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用具有ajax调用的twitter typehead(typeahead.js 0.11.1)插件,它有效,但是当ajax结果的数量小于限制(默认限制为5,我没有指定)时会提供一些奇怪的行为在打头打电话).这是我如何设置:
var limit = 6;

populate_typeahead = function() {
    $('.typeahead').typeahead('destroy');
    $('.typeahead').typeahead({
      hint: true,highlight: true,minLength: 1
    },{
      source: ajaxquery,});
};

var ajaxquery = function(query,syncresults,process) {
        return $.ajax({
            url: $(this)[0].$el.closest('span.twitter-typeahead').find('input:last').data('mahiFindByPath'),type: 'get',data: {search_string: query,limit: limit},dataType: 'json',success: function(json) {
                return typeof json.options == 'undefined' ? false : process(json.options);
            }
        });
    };

导致我问题的实际例子是在输入框中输入“new to”,该框返回以下json.options:

[
    'new to add to g1','new to be in grp1 then remove from grp','new to drag','new to assign'
]

但是,当所有4都应该显示时,唯一出现的建议是“新添加到g1”.如果我继续输入“new to d”,那么“new to drag”的提示就出现了.如果我只输入“新”,那么我会得到一个完整的5个建议,包括上面的大部分内容

如果我更改var limit = 5;那么ajax通话只能返回最多5个结果,并且建议列表一直没有出现,直到我得到“新的”为止,即“新”不提供任何建议.这使我认为这是与aaax结果的数量小于或等于前导限制.为了测试我的理论,我将5个无意义的项目推送到json.options数组中,所以总是有超过5个结果,它都按预期工作 – 只有我不希望在我的列表底部总是有无意义的建议.任何意见非常感谢!

我也有类似的问题.它看起来像是Typeahead版本0.11.1中的一个错误.在这里尝试解决方案:
https://github.com/twitter/typeahead.js/pull/1212
看看是否有效.

具体的变化是这样的:
https://github.com/per-nilsson/typeahead.js/commit/387290b1e70be0052c6dd9be84069f55d54a7ce7

猜你在找的Ajax相关文章