gpt4 book ai didi

javascript - Bootstrap tokenfield 与 jquery 自动完成 json

转载 作者:行者123 更新时间:2023-12-03 04:23:07 26 4
gpt4 key购买 nike

我有一个带有 json 数据的自动完成功能,但我似乎无法使其与 Bootstrap tokenfield 一起使用。据我了解,这应该只是将整个事情包装在 tokenfield 函数中。或者还有其他的事情吗?

这是我认为第二部分很重要的内容。正如他们在 tokenfield 示例中所说的 http://sliptree.github.io/bootstrap-tokenfield/这是 tokenfield 应该被实现或“包裹在它周围”的地方。我对吗 ?如何使用此代码调用 token 字段?这些信息是否足以让有人帮助我解决这个问题?

    $(function() {
function split( val ) {
return val.split( / \s*/ );
}
function extractLast( term ) {
return split( term ).pop();
}
// don't navigate away from the field on tab when selecting an item
$( "#s" ).bind( "keydown", function( event ) {
if ( event.keyCode === $.ui.keyCode.TAB &&
$( this ).data( "autocomplete" ).menu.active ) {
event.preventDefault();
}
})

$('#s').autocomplete({
source: function( request, response ) {
$.getJSON( "<?= base_url(); ?>keyword/search_json", {
term: extractLast( request.term )
}, response );
},
search: function() {
// custom minLength
var term = extractLast( this.value );
if ( term.length < 1 ) {
return false;
}
},
focus: function() {
// prevent value inserted on focus
return false;
},
select: function( event, ui ) {
var terms = split( this.value );
// remove the current input
terms.pop();
// add the selected item
terms.push( ui.item.value );
// add placeholder to get the comma-and-space at the end
terms.push( "" );
this.value = terms.join( " " );
return false;
}
});
});

最佳答案

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

    $("#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();
};

关于javascript - Bootstrap tokenfield 与 jquery 自动完成 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43856268/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com