我目前在使用Jquery的自动完成小部件时遇到了一些麻烦。我有一个远程数据源,其中一些字符串(或搜索术语)中包含逗号。只要在输入文本框中键入逗号,建议列表就会消失。
对我而言,自动完成小部件似乎使用逗号作为分隔符。如何轻松忽略逗号,以便显示正确的结果?
这是我的代码:
$.widget( "custom.catcomplete", $.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 );
});
}
});
$(".sottendeDokumenterSearchField").catcomplete({
source: "myURL",
minLength: 2,
select: function( event, ui ) {
return processAutocompleteElSelected(event, ui);
},
open: function(event, ui){
if(autoselect){
var keyEvent = $.Event("keydown");
keyEvent.keyCode = $.ui.keyCode.DOWN;
$(".sottendeDokumenterSearchField").trigger(keyEvent);
keyEvent.keyCode = $.ui.keyCode.ENTER;
$(".sottendeDokumenterSearchField").trigger(keyEvent);
}
autoselect = false;
}
});
答案 0 :(得分:0)
您可以尝试进入jquery.autocomplete.ui JS文件,并从该代码中查找并删除逗号大小写。然后该领域永远不会寻找它。我不确定你使用的是哪个版本的ui或者哪个版本。
答案 1 :(得分:0)
在将输入值发送到自动完成功能之前,请使用str_replace将其从逗号中删除。
我不熟悉自动完成小部件,因此我无法提供任何代码示例,抱歉。希望它仍然可以指向正确的方向。