0

我目前在使用 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;
    }
});
4

2 回答 2

0

您可以尝试进入 jquery.autocomplete.ui JS 文件,并从该代码中查找并删除逗号大小写。然后该领域将永远不会寻找它。我不确定您使用的是哪个版本的 ui 或哪个版本。

于 2013-08-07T09:19:24.443 回答
0

在将输入值发送到您的自动完成功能之前,请使用 str_replace 将其从逗号中删除。

我不熟悉自动完成小部件,所以我不能给出任何代码示例,抱歉。希望它仍然可以为您指明正确的方向。

于 2013-08-07T09:23:38.413 回答