Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск слова в тексте или CTRL + F, JQuery Tabs и CTRL + F 
:(
    Опции темы
t77
  Дата 27.2.2012, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 27.7.2008

Репутация: нет
Всего: нет



Имеется HTML страничка, с вкладками (табами). 
В нутри каждого таба имеется текст. Необходимо реализовать поиск определенного слова на странице(CTRL + F). И если данное слово находится в одном из табов, то активировать данный таб и выделять искомое слово.
Вопрос собственно в том, как можно это реализовать? Имеются ли готовые  решения данной проблемы ?
Мне известно о подсветка слов в тексте jquery highlight...
Но это, не решает проблему с вкладками (табами).
Спасибо
PM MAIL   Вверх
$дмитрий
Дата 27.2.2012, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 2
Всего: 45



Цитата

Вопрос собственно в том, как можно это реализовать?

- ловим комбинацию CTRL + F
- присваиваем в переменную innerHTML активного таба
- отчищаем от тегов + спецсимволов
- ищем подстроку
PM MAIL   Вверх
t77
  Дата 27.2.2012, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 27.7.2008

Репутация: нет
Всего: нет



Цитата

- присваиваем в переменную innerHTML активного таба
- отчищаем от тегов + спецсимволов

$дмитрий, объясните пожалуйста более подробнее, что вы имеете ввиду ??

Думаю, необходимо по очереди (в зависимости от количество вкладок - табов) производить поиск в контексте каждого таба и при обнаружении искомого слова, активировать ту самую вкладку(таб), с помощью методов или свойств виджета, типа этого:
$("#myTabs").tabs("select","#currentTab");

Как вы думаете?
PM MAIL   Вверх
$дмитрий
Дата 27.2.2012, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 2
Всего: 45



Примерно так
Код

var search = 'Поисковая строка';

$('.tabs').each(function(){         //цикл по всем вкладкам
    var text = $(this).text();      //содержимое вкладки
    if(text.indexOf(search) + 1){   //поиск подстроки
        $(this).addClass('active');    //активируем таб
    }
});

PM MAIL   Вверх
t77
  Дата 28.2.2012, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 27.7.2008

Репутация: нет
Всего: нет



Так же необходимо учитывать следующее, что на странице могут быть элементы:
- которые скрыты (JQuey Hide/Show)
- Вкладки (JQuery Tabs)

В любом случае, необходимо будет раскрыть элемент и выделить искомое слово или выражение. Тоесть, необходимо реализовать поиск CTRL+F, который умеет раскрывать скрытые элементы.

Буду пробовать... Если у кого имеются предложения по поводу данного вопроса, буду признателен.
Спасибо
PM MAIL   Вверх
ksnk
Дата 28.2.2012, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Цитата(t77 @  28.2.2012,  10:03 Найти цитируемый пост)
Если у кого имеются предложения по поводу данного вопроса, буду признателен.

Ну вот предложение...

для каждого элемента, который может быть скрыт-показан нужно иметь обработчик события 'makeMeActive'. Обработчик такого события обязан быть у него либо у его родителя.

Поиск слова идет рекурсивно по всем элементам с перебором child'ов, не обращая внимания на видимость элемента.

Когда нашли слово - в непосредственно вмещающий его элемент пускаем(.trigger) событие makeMeActive. Событие будет всплывать пока не встретит того, кто сделает элемент видимым.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0670 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.