jQuery dataTables - остановить поиск подстановочных знаков для поля выбора в таблицах данных

Я внедряю опцию фильтрации и сортировки в свой php-код с помощью плагина datatables. Для полей типа ввода я устанавливаю поиск по подстановочным знакам, но мне не нужен поиск по подстановочным знакам для поля выбора. В моем поле выбора есть два значения: «Активно» и «Неактивно». Итак, как это сделать. Помогите пожалуйста мне. Мой код выглядит так:

$("#example").dataTable().columnFilter({
    aoColumns: [
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        {
            type: "select",
            values: ["Active","Inactive"]
        },
        null,
        null
    ]              
});

function fnCreateSelect( aData )
{
    var r='<select><option value=""></option>', i, iLen=aData.length;
    for ( i=0 ; i<iLen ; i++ )
    {
        r += '<option value="'+aData[i]+'">'+aData[i]+'</option>';
    }
    return r+'</select>';
}


function fnFilterColumn ( i )
{

    $('#example').dataTable().fnFilter( 
        $("#col"+(i+1)+"_filter").val(),
        i,true
    );
}

person Bappa    schedule 06.07.2012    source источник
comment
Это не PHP. Это JS/JQuery.   -  person Jørgen R    schedule 06.07.2012
comment
ок извините за это. Но помогите пожалуйста как решить.   -  person Bappa    schedule 06.07.2012


Ответы (1)


$(document).ready(function() {
    $('#example').DataTable( {
        initComplete: function () {
            this.api().columns().every( function () {
                var column = this;
                var select = $('<select><option value=""></option></select>')
                    .appendTo( $(column.footer()).empty() )
                    .on( 'change', function () {
                        var val = $.fn.dataTable.util.escapeRegex(
                            $(this).val()
                        );

                        column
                            .search( val ? '^'+val+'$' : '', true, false )
                            .draw();
                    } );

                column.data().unique().sort().each( function ( d, j ) {
                    select.append( '<option value="'+d+'">'+d+'</option>' )
                } );
            } );
        }
    } );
} );

Выберите поле для всех столбцов

person Senanayaka    schedule 29.04.2015