使用jquery自动完成json的Bootstrap令牌字段

时间:2017-05-08 19:55:23

标签: javascript jquery autocomplete bootstrap-tokenfield

我有一个自动完成的json数据,我似乎无法使它与Bootstrap令牌字段一起工作。根据我的理解,这应该只是将整个事物包装在一个tokenfield函数中。还是超出这个范围?

以下是我认为第二部分很重要的地方。 正如他们在tokenfield示例http://sliptree.github.io/bootstrap-tokenfield/上所说的那样,这就是应该实现tokenfield的地方,或者#34;缠绕它#34;。我对吗 ?如何使用此代码调用tokenfield?这些信息是否足以让某人帮我解决这个问题?

scrollToEnd

1 个答案:

答案 0 :(得分:1)

首先需要像这样初始化自动完成:

    $("#input-search-bar").autocomplete({
        minLength: 3
    });

然后你可以在tokenfield中包装自动完成,如下所示:

    $("#input-search-bar").tokenfield({
        autocomplete: {
            source: function(request, response) {
                    getTerms(request, response, searchType);
                }
            },
            minLength: 3,
            closeOnSelect: false,
            updateElement: false
        },
        showAutocompleteOnFocus: false
        createTokensOnBlur: false
    }).on('tokenfield:createtoken', function(event) {
        // add code here if you like
    }).on('tokenfield:createdtoken', function(event) {
        // add code here if you like        
    }).on('tokenfield:removedtoken', function(event) {
        // add code here if you like        
    }); //end of tokenfield

现在您需要使用.data(' bs.tokenfield')来处理您上面列出的自动完成功能。这是我用来选择菜单项的示例:

  $('#input-search-bar')
     .data('bs.tokenfield')
     .$input
     .data('ui-autocomplete')['menu.options.selected'] = function(event, ui) {
       var item = ui.item.data("item.autocomplete");
       autocompleteMenu.focus();
     };