数据表-使用重音中和的单个列搜索

datatables - Individual column searching with accent neutralise

本文关键字:和的 单个列 搜索 数据表      更新时间:2023-09-26

我想用口音中和插件在列中搜索,但它根本不起作用。它将搜索的文本转换为无重音,但它不匹配结果。我想搜索 kolar 和结果Kollár

的例子:

  1. 搜索名称 collar 没有结果,但在表中是Kollár多次
  2. 搜索名称Kollár没有结果…

代码如下:

var table = jQuery('#example').DataTable();
jQuery.fn.DataTable.ext.type.search.string = function ( data ) {
    return ! data ?
        '' :
       typeof data === 'string' ?
              data
                        .replace( /έ/g, 'ε')
                        .replace( /ύ/g, 'υ')
                        .replace( /ό/g, 'ο')
                        .replace( /ώ/g, 'ω')
                        .replace( /ά/g, 'α')
                        .replace( /ί/g, 'ι')
                        .replace( /ή/g, 'η')
                        .replace( /'n/g, ' ' )
                        .replace( /á/g, 'a' )
                        .replace( /é/g, 'e' )
                        .replace( /í/g, 'i' )
                        .replace( /ó/g, 'o' )
                        .replace( /ú/g, 'u' )
                        .replace( /ê/g, 'e' )
                        .replace( /î/g, 'i' )
                        .replace( /ô/g, 'o' )
                        .replace( /è/g, 'e' )
                        .replace( /ï/g, 'i' )
                        .replace( /ü/g, 'u' )
                        .replace( /ã/g, 'a' )
                        .replace( /õ/g, 'o' )
                        .replace( /ç/g, 'c' )
                        .replace( /ì/g, 'i' ) :
                    data;
        };
    table.columns().eq( 0 ).each( function ( colIdx ) {
            jQuery( 'input', table.column( colIdx ).header() ).on( 'keyup change', function () {
                table
                    .column( colIdx )
                    .search(
                        jQuery.fn.DataTable.ext.type.search.string( this.value )
                    )
                    .draw();
            });
        });

编辑:它不是一个重复的jQuery数据表-口音不敏感的字母排序和搜索,因为我需要它列搜索而不是全局搜索。我已经读过了,它不适合我。

问题出在表格上。它包含空(只有空白空间)单元格,在这种情况下,整个表没有过滤重音中和功能。所以我把空白改为 ,它就像一个魅力:)。我花了很多时间才找到它。