Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Мощный поиск по локальной базе через браузер

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

D1D1D1D

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет. Имеется скрипт Filtering для браузера, в котором можно быстро искать по нескольким колонкам в пределах десятков тысяч строк, находящимся в js-скрипте. Дано ли добавить возможность поиска по регулярным выражениям, если это предусмотрено в jQuery?
 

Всего записей: 813 | Зарегистр. 05-04-2010 | Отправлено: 11:19 04-04-2020
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
D1D1D1D
https://supportcenter.devexpress.com/Ticket/Details/T805828/datagrid-how-to-search-using-regular-expressions

Всего записей: 9716 | Зарегистр. 20-09-2014 | Отправлено: 02:45 05-04-2020
D1D1D1D

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Как понял, надо отдельно внедрять. Ясно, спасибо.

Всего записей: 813 | Зарегистр. 05-04-2010 | Отправлено: 04:56 05-04-2020 | Исправлено: D1D1D1D, 04:56 05-04-2020
Prelestnica

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Надо внедрять отдельно

Всего записей: 1 | Зарегистр. 08-04-2020 | Отправлено: 15:43 08-04-2020
D1D1D1D

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В какое место кода следует добавить функцию заменяющую при вводе в поиск, одни символы — на другие? К примеру, если пользователь вводит в поиске по колонке слово с буквой «O», чтобы она заменялась на цифру «0»? —
Код:
function onItemFiltering(s, e) {
    if (!e.isFit) {
        e.isFit = e.item.text.toLowerCase()
            .replace(/\u00fc/gi, "u")
            .replace(/\u00e4/gi, "a")
            .replace(/\u00f6/gi, "o")
            .indexOf(e.filter.toLowerCase()) > -1;
    }
}
function onCustomHighlighting(s, e) {
    e.highlighting = new RegExp(e.filter
        .replace(/u/gi, "(u|\u00fc)")
        .replace(/a/gi, "(a|\u00e4)")
        .replace(/o/gi, "(o|\u00f6)")
        , "gi");
}

Всего записей: 813 | Зарегистр. 05-04-2010 | Отправлено: 12:44 09-04-2020
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
D1D1D1D
Указанные функции к этому не имеют отношение.
Вам нужно смотреть символ по keypress и менять, если нужно.
https://stackoverflow.com/questions/44209666/javascript-replace-keypress-on-input
 
Либо править все содержимое поля после ввода символа (keyup), заменяя необходимые.
К примеру так - https://jsfiddle.net/f1bpy3s2/
Но в случае большого количества "слушателей" событий, что то может срабатывать раньше, что то позже и эффект может быть иным.

Всего записей: 9716 | Зарегистр. 20-09-2014 | Отправлено: 15:56 09-04-2020 | Исправлено: Mavrikii, 20:09 09-04-2020
D1D1D1D

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо! Но мне к сожалению так и не удалось добавить эту настройку в первоначальный скрипт Filtering. Искал в кодах все "<input" и вставлял после них — но результата не давало. Не могли бы Вы подсказать, как это задействовать применительно к коду из архива?

Всего записей: 813 | Зарегистр. 05-04-2010 | Отправлено: 08:24 10-04-2020
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
D1D1D1D

Цитата:
Не могли бы Вы подсказать, как это задействовать применительно к коду из архива?

честно говоря, мне не хочется разбираться в чужих виджетах.
https://www.jqwidgets.com/jquery-widgets-documentation/documentation/jqxinput/jquery-input-api.htm?search=
обработка события change

Всего записей: 9716 | Зарегистр. 20-09-2014 | Отправлено: 08:30 10-04-2020
D1D1D1D

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Оказалось, что я во второй скрипт функцию забыл вставить) Всё сработало, спасибо большое!
 
Добавлено:

Цитата:
Но в случае большого количества "слушателей" событий, что то может срабатывать раньше, что то позже и эффект может быть иным.

Что имелось в виду под большим количеством "слушателей" событий?

Всего записей: 813 | Зарегистр. 05-04-2010 | Отправлено: 09:21 10-04-2020 | Исправлено: D1D1D1D, 09:25 10-04-2020
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
D1D1D1D

Цитата:
Что имелось в виду под большим количеством "слушателей" событий?

основы js - https://learn.javascript.ru/introduction-browser-events

Всего записей: 9716 | Зарегистр. 20-09-2014 | Отправлено: 09:35 10-04-2020
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » Мощный поиск по локальной базе через браузер


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru