Игнорирование специальных символов в поиске в DataTables - PullRequest
0 голосов
/ 30 ноября 2018

Я построил простой Datatable с именами сотрудников и соответствующими отделами.

Он работает довольно хорошо, но теперь я понял, что поиск фильтрует строки со специальным символом по-другому.

Например, 4 сотрудника по имени Жуан, двое из них зарегистрированы как Жуан, а два других - Жуан без имени.

Как я могу игнорировать эту разницу, чтобы вывести четверых из нихнабираю 'joao'?

Я нашел плагин DataTable для веб-сайта, но я не могу запустить его, я не знаю, где его поставить:

https://datatables.net/plug-ins/filtering/type-based/accent-neutralise

Вот конструкция DataTable:

 $('#dataTable').DataTable({
        language:{
            "sEmptyTable": "Nenhum registro encontrado",
            "sInfo": "Mostrando de _START_ até _END_ de _TOTAL_ registros",
            "sInfoEmpty": "Mostrando 0 até 0 de 0 registros",
            "sInfoFiltered": "(Filtrados de _MAX_ registros)",
            "sInfoPostFix": "",
            "sInfoThousands": ".",
            "sLengthMenu": "_MENU_ resultados por página",
            "sLoadingRecords": "Carregando...",
            "sProcessing": "Processando...",
            "sZeroRecords": "Nenhum registro encontrado",
            "sSearch": "Pesquisar",
            "oPaginate": {
                "sNext": "Próximo",
                "sPrevious": "Anterior",
                "sFirst": "Primeiro",
                "sLast": "Último"
            },
            "oAria": {
                "sSortAscending": ": Ordenar colunas de forma ascendente",
                "sSortDescending": ": Ordenar colunas de forma descendente"
            },
            dom:"iptrt",
        }


    });
    $('.dataTables_filter').addClass('pull-left');
    $('.dataTables_filter input').addClass('filter-input');
    $('.dataTables_length').addClass('pull-right');

1 Ответ

0 голосов
/ 30 ноября 2018

Вы можете нормализовать данные в столбце с помощью акцентированных символов (диакритические знаки) или добавить скрытый столбец в таблицу, который рассчитывается путем нормализации строки из существующего столбца с диакритическими знаками

const ds = "João";
ds.normalize('NFD').replace(/[\u0300-\u036f]/g, ""); // "Joao"
...