jQuery dataTables - 停止通配符搜索数据表中的选择框

时间:2012-07-06 07:20:19

标签: jquery search drop-down-menu datatables jquery-datatables

我正在通过datatables插件在我的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
    );
}

1 个答案:

答案 0 :(得分: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>' )
                } );
            } );
        }
    } );
} );

选择所有列的框