Я пытаюсь реализовать функцию пользовательского поиска для jqgrid, в которой он может искать ячейки таблицы с содержимым html. Пожалуйста, обратитесь ниже примерjqgrid пользовательский поиск по элементам ячейки html
https://jsfiddle.net/ukyde000/1/
В скрипкой есть две колонки, которые имеют Div элементов внутри ячейки таблицы «клиент» и «Примечания». Я использую html-ячейки, потому что мне нравится, что ячейки имеют стили, а некоторые ячейки - гиперссылки с привязными тегами. В этом примере я не изменил все ячейки столбцов, чтобы иметь html-контент, но фактическая сетка, которую я использую, имеет все ячейки в тегах html div. Я смог реализовать пользовательскую функцию сортировки, возвращая значение innerText для ячеек. Теперь я пытаюсь реализовать аналогичные функции для поиска, где функция поиска может проверять наличие текстового содержимого ячейки в соответствии с данными.
<td><div><span>text/number/date</span></div></td>
sorttype: funtion(cell) { return $(cell)[0].innerText;}
Edit: Использование jqgrid 4.7.0
Вводные данные, которые вы используете, содержат фрагменты HTML. Это очень плохой выбор. Лучше использовать ** чистые данные ** и использовать форматировщики jqGrid, пользовательские форматиры, 'callattr' и другие для создания тех же HTML-фрагментов * на основе входных данных *. Он позволяет реализовать любое поведение поиска или сортировки, которое вам нужно. Использование '$ (cell) [0] .innerText' будет работать, но оно грязно (можно повысить производительность за счет использования $ .jgrid.stripHtml (cell)' вместо '$ (cell) [0]. innerText'). Если вы измените формат входных данных, то проблема, которую вы пытаетесь решить, не будет существовать. – Oleg
Пользовательский поиск не существует в jqGrid 4.7. Он реализован только в бесплатном jqGrid (см. [Wiki] (https://github.com/free-jqgrid/jqGrid/wiki/Custom-filtering-searching-Operation)). Бесплатный jqGrid позволяет вам определить обратный вызов 'filter' внутри' customSortOperations'. Обратный вызов 'filter' получает поисковые шаблоны и данные из ячейки, и вы можете сами определить *, как сравнивать * данные. – Oleg
Спасибо, Олег за ваши содержательные комментарии. Я попробую бесплатный jqgrid для реализации пользовательского поиска. Ваши ответы на другие вопросы jqgrid очень помогли мне в разработке сетки, некоторые из ваших ответов были идеальным решением проблем, которые у меня были. Попробуете свои предложения и сообщите об итогах. Благодарю. – hitech0101