Jquery自动填充显示结果

时间:2015-08-17 10:49:02

标签: javascript jquery autocomplete

我有非常通用的自动填充javascript代码。一切正常,但是当你输入:

礼仪

您将获得结果:

礼仪

方式

在数据库中我有特殊字母的单词,但是如果“方式”我不想用字母“ä”显示单词 - 因为这不适合我的结果。

我怎么能忽略这样的结果?

感谢您的任何建议。

代码:

$(document).ready(function () {
    if ($('#tags').length <= 0) {
        return;
    }
    var $project = $('#tags');
    $project.autocomplete({
        minLength: 2,

        source: function (request, response) {
            $.ajax({
                dataType: "json",
                type: 'post',
                cache: false,
                data: {term: request.term},
                url: '/ajax/',

                success: function (data) {

                        response($.map(data, function (item) {
                            return {
                                label: item.Cities__zip,
                                value: item.Cities__zip
                            }
                        }));

                }
            });
        },

    });
});

1 个答案:

答案 0 :(得分:0)

这看起来喜欢处理服​​务器而不是客户端更好的东西。但如果您想在ajax调用中执行此操作,您可以使用regular expression to match non-English characters执行此类操作,并过滤掉这些项目:

$(document).ready(function () {
    if ($('#tags').length <= 0) {
        return;
    }
    var $project = $('#tags');
    $project.autocomplete({
        minLength: 2,
        source: function (request, response) {
            $.ajax({
                dataType: "json",
                type: 'post',
                cache: false,
                data: {term: request.term},
                url: '/ajax/',
                success: function (data) {
                    response($.map(data, function (item) {
                    return (/[^\u0000-\u007F]+/).test(item.Cities__zip) ? null : 
                    {
                        label: item.Cities__zip,
                        value: item.Cities__zip
                    }
                }));

                }
            });
        },

    });
});