JQuery Datatables фильтрует столбец, когда содержимое столбца является HTML - PullRequest
0 голосов
/ 01 декабря 2019

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

"columns": [
    { 
        "data": function (data) {
             return data['columnToFilter'];
        }
    },
];

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

"columns": [
    { 
        "data": function (data) {
            return '<h1>' + data['columnToFilter'] + '</h1>';
         }          
    }
];

Как я могу сообщить dataTables, какое необработанное значение (без html) второго столбца?

Вот мой код, который выполняет фильтрацию:

$.fn.dataTable.ext.search.push(
    function( settings, data, dataIndex ) {
        // tabLocation can only be filtered if the value is returned without additional html
        var tabLocation = data[0];
        if ($("#myFilter").hasClass("down")) {
            return true;
        } else {
            if (tabLocation == 0) {
                return true;
            }
        }
    }
);

$.fn.toggleText = function(t1, t2){
    if (this.text() == t1) this.text(t2);
    else                   this.text(t1);
    return this;
};

1 Ответ

0 голосов
/ 01 декабря 2019

Я использовал следующее решение:

"columns": [
    { 
        "data": function (data) {
            return data['columnToFilter'];
        },
        "render": {
            "display": function ( data, type, row, meta ) {
                return '<h1>' + data['columnToFilter'] + '</h1>';
            },
        },
        "bSortable": false,
    },
];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...