Поместите поле со списком для начальной загрузки поля поиска заголовка с данными - PullRequest
2 голосов
/ 11 апреля 2019

Я хочу поместить поле со списком в поле поиска в заголовке данных начальной загрузки. https://datatables.net/examples/api/multi_filter_select.html По этой ссылке сделайте комбобокс для tfoot. Но я хочу разместить его в поле поиска.

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

Это код JavaScript, который используется в этом примере. также я могу изменить $ (column.footer ()). empty () на $ (column.header ()) Но это показывает вот так https://imgur.com/a/92audmz.

Как вы можете видеть на этом изображении, поле со списком помещено в заголовок, но я хочу поместить его ниже «Имя», означает заменить на поле ввода «Имя поиска». Пожалуйста, помогите мне!!!!! Спасибо, что прочитали мой вопрос.

1 Ответ

1 голос
/ 12 апреля 2019

Я решаю свою проблему.В коде я меняю

.appendTo( $(column.footer()).empty() )

на

.appendTo(column.context[0].nTHead.childNodes[3].childNodes[1])

Это указывает на ту ячейку, которую я хочу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...