Javascript jQuery自动完成单击外部时先选择
我使用的是Autocomplete插件,并且希望即使我没有点击它,也能选择被关注的项目,而只是点击输入字段的外部Javascript jQuery自动完成单击外部时先选择,javascript,jquery,jquery-plugins,jquery-autocomplete,Javascript,Jquery,Jquery Plugins,Jquery Autocomplete,我使用的是Autocomplete插件,并且希望即使我没有点击它,也能选择被关注的项目,而只是点击输入字段的外部 $('#adress_input_box').tagsInput({ 'width':'500px', 'removeWithBackspace': false, 'defaultText': 'Strasse, Ort, PLZ oder Gemeinde eingeben', 'placeholderColor': '#AAACAB', '
$('#adress_input_box').tagsInput({
'width':'500px',
'removeWithBackspace': false,
'defaultText': 'Strasse, Ort, PLZ oder Gemeinde eingeben',
'placeholderColor': '#AAACAB',
'onRemoveTag': function(event){
//do stuff here
},
onAddTag: function(e){
//do stuff here
},
interactive: true,
autocomplete_url: '/includes/autocomplete.php',
autocomplete:{
close: function(event, ui){
allowCreatingTag=false;
},
select: function(event, ui){
//stuff
},
source: function( request, response ) {
$.ajax({
url: "/includes/autocomplete.php",
dataType: "json",
type: "post",
data: {
"term": request.term
},
error: function(){
allowCreatingTag = false;
},
success: function( data ) {
allowCreatingTag=true;
response( $.map( data, function( item ) {
return {
label: item.label,
value: item.value,
category: item.category,
}
}));
}
});
},
minLength: 2,
autoFocus: true,
}
});
我也在使用“tagsinput”插件,从输入中获取信息
以下是自定义自动完成:
$.widget( "custom.autocomplete", $.ui.autocomplete, {
_renderMenu: function( ul, items ) {
var that = this,
currentCategory = "";
$.each( items, function( index, item ) {
if ( item.category != currentCategory ) {
ul.append( "<li class='ui-autocomplete-category'>" + item.category + "</li>" );
currentCategory = item.category;
}
that._renderItemData( ul, item );
});
}
});
$.widget(“自定义.autocomplete”,$.ui.autocomplete{
_renderMenu:功能(ul,项目){
var=这个,
currentCategory=“”;
$。每个(项目、功能(索引、项目){
如果(item.category!=当前类别){
ul.追加(“”+item.category+“ ”);
currentCategory=item.category;
}
即._renderItemData(ul,项目);
});
}
});
您可以添加自动完成的焦点事件
focus: function(event, ui) {
$(".adress_input_box li.result").removeClass("selected");
$("#ui-active-menuitem")
.closest("li")
.addClass("selected");
},
我们开始吧。这就是代码。如果可能的话,最好提供一个jsfiddle。问题可能是我正在使用一个自定义小部件来自动完成,它是带有类别的。我已经改变了这个问题。我现在知道了,但是我正在使用ajax请求自动完成的结果,这将花费很多时间来创建JSFIDLE