0

私はdatatablesプラグインによって私のphpコードにフィルターとソートオプションを実装しています。入力タイプフィールドにワイルドカード検索を設定していますが、選択ボックスにワイルドカード検索を使用したくありません。私の選択ボックスには、「アクティブ」と「非アクティブ」の2つの値があります。だからそれを行う方法。私を助けてください。私のコードは次のようなものです:

$("#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 に答える