datatables - 使用重音中和的单个列搜索

时间:2015-06-02 12:16:08

标签: javascript jquery datatables

我想在带有重音中和插件的列中进行搜索,但它根本不起作用。它将搜索到的文本转换为无重复,但它与结果不匹配。我想搜索 Kollar ,搜索结果Kollár

示例:

  1. 搜索名称 Kollar 但没有结果,但在表格中Kollár多次。
  2. 搜索名称Kollár但没有结果......
  3. 以下是代码:

    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 DataTables - Accent-Insensitive Alphabetization and Searching的副本因为我需要它来搜索列而不是全局搜索。我已经阅读过了它并不适用于我。

1 个答案:

答案 0 :(得分:2)

问题出在桌面上。它包含空(仅空白空间)单元格,在这种情况下,整个表格没有过滤带重音中和功能。所以我将空格更改为 ,它就像魅力:)。找到它需要花费很多时间:)。