Фильтровать только определенный столбец в фильтре jquery - PullRequest
0 голосов
/ 05 февраля 2019

Я изменяю фильтр jquery для веб-страницы друга, он использует этот фильтр из примера w3schools (https://www.w3schools.com/Bootstrap/bootstrap_filters.asp),, но в этом случае jquery зацикливает все столбцы, и мне нужно отфильтровать только определенныйстолбец таблицы. Как я могу "игнорировать" другие столбцы и фильтровать строки через определенный столбец?

Вот пример jsfiddle (https://jsfiddle.net/lucas2500/w7atphe3/), Я хотел бы отфильтровать все строки попервый столбец (Имя).

$(document).ready(function(){
    $("#myInput").on("keyup", function() {
        var value = $(this).val().toLowerCase();
        $("#myTable tr").filter(function() {
            $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
        });
    });
});

Извините за любые грамматические ошибки.

1 Ответ

0 голосов
/ 05 февраля 2019

Когда вы применяете фильтр, он в настоящее время проверяет .text() всей строки:

$(this).text().toLowerCase().indexOf(value) > -1

, где this - каждый tr.

. Вы можете заменить эточасть, чтобы проверить определенные столбцы, например, только первый столбец:

$(this).find("td:eq(0)").text().toLowerCase().indexOf(value) > -1

Предоставление:

$("#myInput").on("keyup", function() {
    var value = $(this).val().toLowerCase();
    $("#myTable tr").filter(function() {
        $(this).toggle($(this).find("td:eq(0)").text().toLowerCase().indexOf(value) > -1)
    });
});

Есть другие способы сделать это, но это близко к вашей исходной логике /код.

Обновленная скрипка: https://jsfiddle.net/8owLdc2t/

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