Изучив некоторые другие вопросы, связанные с этим, я до сих пор не смог понять, как заставить это работать в моем случае. У меня есть таблица с несколькими строками и элемент управления над ним, который мне нужно отфильтровать на основе того, что набирается. В каждой строке есть кнопка «Удалить», которую я не подключил в своем jsFiddle. Это отлично работает на моей реальной странице.Использовать ввод в строки таблицы фильтра
Моя основная проблема связана с самим фильтром. Он определенно не фильтрует правильно, и я понятия не имею, как принять во внимание кнопку «Удалить». Что мне нужно сделать, когда я начну вводить фильтр, текст кнопки («Удалить») будет проигнорирован, и строки будут правильно фильтроваться?
Вот пол работает jsFiddle и «пол-работает» я имею в виду, если вы вводите букву «г», все фильтруется, но один ряд. Большинство букв, которые вы набираете, все фильтруется.
Фильтр Код
<script>
$("#searchFilter").keyup(function() {
var data = this.value.split(" ");
var tbl = $("#table1").find("tr");
if (this.value == "") {
tbl.show();
return;
}
tbl.hide();
tbl.filter(function (i, v) {
var t = $(this);
for (var d = 0; d < data.length; d++) {
if (t.is(":contains('" + data[d] + "')")) {
return true;
}
}
return false;
}).show();
});
</script>
Благодаря этой должности я был в состоянии получить немного старт, но просто застрял сейчас ...: https://stackoverflow.com/a/17075148/738262
РАБОТА КОД
jQuery.expr[":"].Contains = jQuery.expr.createPseudo(function(arg) {
return function(elem) {
return jQuery(elem).text().toUpperCase().indexOf(arg.toUpperCase()) >= 0;
};
});
$("#searchFilter").keyup(function() {
var data = this.value.split(" ");
var tbl = $("#table1").find("tr");
if (this.value == "") {
tbl.show();
return;
}
tbl.hide();
tbl.filter(function (i, v) {
var t = $(this);
for (var d = 0; d < data.length; d++) {
if (t.is(":Contains('" + data[d] + "')")) {
return true;
}
}
return false;
}).show();
});
Хорошо, что это очень хорошо знать. Я не знал, что: содержит чувствительность к регистру. Очень признателен. Кроме того, в другом посте, на котором я смотрел, это было ++ d, я просто забыл исправить это, когда я переформатировал его в своем вопросе, но теперь он исправлен. Я посмотрел, как сделать: содержит регистр без учета регистра и нашел одну работу (хотя мне это действительно не нравится, и я уверен, что есть намного лучший способ, который я продолжу искать). Я обновляю свой OP с этой работой. И еще раз спасибо за помощь! – Brian