0

我正在通过数据表插件在我的 php 代码中实现过滤器和排序选项。对于输入类型字段,我正在设置通配符搜索,但我不希望选择框的通配符搜索。在我的选择框中,有两个值是“活动”和“非活动”。那么如何做到这一点。请帮我。我的代码是这样的:

$("#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
    );
}
4

1 回答 1

0
$(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>' )
                } );
            } );
        }
    } );
} );

所有列的选择框

于 2015-04-29T05:19:44.163 回答