$.fn.extend({ древовидная: функция (о) { вар openClass = 'фа-минус-круг'; вар closeClass = 'фа-плюс-круг'; if (typeof o != 'неопределено'){ if (typeof o.openedClass != 'неопределено'){ openClass = o.openedClass; } if (typeof o.closedClass != 'неопределено'){ закрытыйКласс = о.закрытыйКласс; } } //инициализируем каждый из верхних уровней дерево вар = $(это); Tree.addClass("дерево"); Tree.find('li').has("ul").each(function () { вар филиал = $ (это); //ли с детьми ул Branch.prepend(""); ветка.addClass('ветвь'); // объявляем флаг для переключения пусть флаг = ложь; Branch.on('клик', функция (e) { если (это == e.target) { // переключение по клику флаг = !флаг; var icon = $(this).children('i:first'); icon.toggleClass(openedClass + " " + ClosedClass); // показывать загрузчик только тогда, когда он открыт, и сворачивать после переключения если (флаг) { $(this).append("открыть все closeAll
- ТЕХ
- Обслуживание компании Сотрудники Отчеты
- Отчет 1 Отчет 1 Отчет 1 Отчет 1
- Отчет 2
- Отчет3
У меня есть этот TreeView, и я хочу отфильтровать его элементы и отобразить элемент, имя которого введено во входных данных над этим TreeView. Я хочу, чтобы искомый элемент отображался в другом формате (фон - цвет = желтый), а все элементы в TreeView были расширены. Если элемент не найден, все пункты меню должны быть свернуты и отобразится уведомление о том, что нужный элемент не найден.
$('#searchInput').on('keyup', function() { var searchText = $(this).val().toLowerCase(); $('#tree2 li').each (function() { var name = $(this).text().toLowerCase(); if (name.indexOf(searchText) !== -1) { $(this).addClass('intro'); Tree2. openAll();
Я использую эту функцию, но в TreeView ни один элемент не отображается, даже если имя искомого элемента соответствует элементу в TreeView. Кроме того, в TreeView возникает несколько ошибок, и функция входит в непрерывный цикл открытия и закрытия TreeView. Кроме того, функция применяет желтый цвет ко всем элементам TreeView. Пожалуйста, просмотрите ошибки в функции и исправьте их. Буду признателен за вашу помощь