Javascript/Jquery: Как предупредить текст метки, который содержит мой поиск?

Привет, я искал и нашел разные вещи, основанные примерно на этом и некоторые более тесно связанные, но я не смог придумать и создать работоспособное решение для моей проблемы:

Резюме:

Я хочу создать вид особым образом из-за моих требований. В настоящее время рассматривается использование самореализованного стиля Treeview - я не хочу сейчас использовать какие-либо другие плагины или готовые представления, потому что, как вы можете видеть из прикрепленной демонстрации JS fiddle внизу, я могу Добейся этого сам.

Проблема под рукой:

Это может быть глупо легко или просто, и если это так, пожалуйста, простите мою некомпетентность, но проблема сводится к тегам - которые имеют промежуточный текст, например так:

<ul><checkbox class="collapsible" /><label>Value 1</label>...<ul>

Теперь у меня нет проблем с извлечением этих значений - в списке их немало (по одному для каждой опции). Но, наконец, основа проблемы заключается в том, чтобы сопоставить их с моим поиском. Несмотря на то, что я использовал очень очевидный и общий для каждого цикла, у него есть проблема, фактически сопоставляющая 'input' - мою переменную для поискового ввода - и текст метки вместе - следовательно, он не будет предупреждать правильные значения и иногда может предупреждать все 15 значений когда только 4 могут совпадать...

В этом вам будет полезна любая помощь - не стесняйтесь использовать любой код в виде дерева, который очень хорошо работает вместе с полями выбора.

Примечание

В моем реальном представлении эти флажки будут связаны с именами меток, используя класс объекта для заполнения значения. Кроме того, я хочу не предупреждать о соответствующих ярлыках, а выделять их - так что, если кто-то может помочь с этим или предложить что-то еще, что было бы неплохо, - это не критическая проблема. (извините, я знаю, что это вам не поможет и не поможет, но я подумал, что я расскажу вам о моих причинах оповещения об этих ярлыках.)

MY JS FIDDLE DEMO - TREEVIEW - EDIT: это был ответ, который мне был нужен (я оставлю его здесь, если кто-то еще захочет его использовать), ответ отлично предоставлен Radu Andrei


РЕДАКТИРОВАТЬ: Я не ищу оповещения на основе каких-либо критериев, за исключением того факта, что текст меток соответствует тексту поиска.

2 ответа

Решение

Ответ на вопрос можно найти в скрипке -> https://jsfiddle.net/mLbhLh89/11/ .

Попробуйте как показано на скрипке

FIDDLE

Я только что обновил вашу функцию поиска следующим

$("#search").on("click", function() {
    $("label").each(function(i,v){

        if($(this).text().indexOf($("#search-criteria").val())>0){
        alert($(this).text());
        }
    });

});

Он найдет строку поиска в каждом тексте метки и покажет предупреждение, если найден.

Другие вопросы по тегам