Typeahead:将ajax结果与多个属性

时间:2017-06-20 11:34:31

标签: php jquery ajax autocomplete bootstrap-typeahead

我正在使用Bootstrap Typeahead(版本:v2.0.0)。我通过ajax调用设置了结果集,并希望使用value一个属性显示自动填充列表。

我的结果集如下:

{"res":[{"id":617,"value":"DESC: Admin responder comment","user_id":37,"status":1,"comment":"Hi {firstname},\n\nThis is testing.","firstname":"Tom's"},
        {"id":625,"value":"DESC: my comment","user_id":37,"status":1,"comment":"Hi {first_name}, anther testing comment","firstname":"William's"}
]}

使用value属性自动完成匹配关键字并填充它。但是,我也希望将关键字与comment属性匹配。

我已尝试过类型的匹配器和SO上提到的一些解决方案,但没有发现有用。尝试了one here:但是得到错误" TypeError:Bloodhound未定义"用那个解决方案。

请使用ajax的结果检查下面用于自动填充的代码。

var typeahead_pre_written_xhr = null;
var search_keyword = function ( tid, txtElmt )
{
    $( "#typeahead-input" ).typeahead({
        items: 20,
        source: function(typeahead, query) {

            action_url = _base_url + "search/search_keyword/";
            typeahead_pre_written_xhr = $.ajax({
                cache: false,
                type: "POST",
                dataType: "json",
                url: action_url + query,
                data: { 'type': type },
                error: function (request, status, error) { },
                success: function(data) {    
                    if( typeof data.res != 'undefined' && data.res != '' ) {
                        typeahead.process(data.res);
                    }
                }
            });
        },
        onselect: function() {                  
            // Do stuff
        }
    });
};

请帮助我实现这一目标。

0 个答案:

没有答案