Входные данные поиска в Bootstrap не изменятся - PullRequest
0 голосов
/ 06 января 2019

Я использую загрузочные таблицы данных, и у меня есть поисковый ввод, и что бы я ни делал, он не удалит текст поиска и не добавит заполнитель. Я видел примеры здесь в стеке и Google, но это не помогло.

Я считаю, что это JS для поиска:

function _fnFeatureHtmlFilter ( settings )
    {
        var classes = settings.oClasses;
        var tableId = settings.sTableId;
        var language = settings.oLanguage;
        var previousSearch = settings.oPreviousSearch;
        var features = settings.aanFeatures;
        var input = '<input type="search" class="'+classes.sFilterInput+'"/>';

        var str = language.sSearch;
        str = str.match(/_INPUT_/) ?
            str.replace('_INPUT_', input) :
            str+input;

        var filter = $('<div/>', {
                'id': ! features.f ? tableId+'_filter' : null,
                'class': classes.sFilter
            } )
            .append( $('<label/>' ).append( str ) );

        var searchFn = function() {
            /* Update all other filter input elements for the new display */
            var n = features.f;
            var val = !this.value ? "" : this.value; // mental IE8 fix :-(

            /* Now do the filter */
            if ( val != previousSearch.sSearch ) {
                _fnFilterComplete( settings, {
                    "sSearch": val,
                    "bRegex": previousSearch.bRegex,
                    "bSmart": previousSearch.bSmart ,
                    "bCaseInsensitive": previousSearch.bCaseInsensitive
                } );

                // Need to redraw, without resorting
                settings._iDisplayStart = 0;
                _fnDraw( settings );
            }
        };
        var jqFilter = $('input', filter)
            .val( previousSearch.sSearch )
            .attr( 'placeholder', language.sSearchPlaceholder )
            .bind(
                'keyup.DT search.DT input.DT paste.DT cut.DT',
                _fnDataSource( settings ) === 'ssp' ?
                    _fnThrottle( searchFn, 400 ):
                    searchFn
            )
            .bind( 'keypress.DT', function(e) {
                /* Prevent form submission */
                if ( e.keyCode == 13 ) {
                    return false;
                }
            } )
            .attr('aria-controls', tableId);

        // Update the input elements whenever the table is filtered
        $(settings.nTable).on( 'search.dt.DT', function ( ev, s ) {
            if ( settings === s ) {
                // IE9 throws an 'unknown error' if document.activeElement is used
                // inside an iframe or frame...
                try {
                    if ( jqFilter[0] !== document.activeElement ) {
                        jqFilter.val( previousSearch.sSearch );
                    }
                }
                catch ( e ) {}
            }
        } );

        return filter[0];
    }

Как вы знаете, таблицы данных не отображаются в HTML, поэтому это js.

Как это выглядит, посмотрите на входные данные поиска

Как я хочу, чтобы это выглядело

1 Ответ

0 голосов
/ 06 января 2019

Вы можете использовать следующий код

oLanguage: {
            "sSearch": ""
        },

для Placeholder поставьте следующий код

$('.dataTables_filter input').attr("placeholder", "search...");

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