Выделите текст на странице после его отображения - PullRequest
2 голосов
/ 10 декабря 2008

У меня есть приложение, которое позволяет пользователю выполнять поиск по нескольким полям строки. Когда они просматривают подробную запись, они хотели бы, чтобы все вхождения строки были выделены.

Форма детализации состоит из Labels и ListViews, большинство из которых находятся внутри TabPanels (из AJAX Control Toolkit). Я хотел бы избежать использования грубой силы, чтобы вручную анализировать каждое значение, чтобы добавить подсвечивающие теги перед его отображением.

Есть ли способ загрузить мою форму и затем проанализировать HTML? Есть ли другой способ обойти это?

1 Ответ

5 голосов
/ 10 декабря 2008

Как насчет JavaScript и JQuery? http://plugins.jquery.com/project/highlight

Я только что попробовал этот плагин, и он работал. Вы можете указать, какие теги вы хотите выделить, и какие слова.

<script language="javascript" type="text/javascript" src="js/jquery-1.2.6.min.js"></script>
<script language="javascript" type="text/javascript" src="js/jquery.highlight-2.pack.js"></script>
<script language="javascript" type="text/javascript">
$(document).ready( function () {
    $('p').each(function() { $.highlight(this, 'LOREM'); });
});
</script>
<style type="text/css">
    .highlight { background-color: yellow }
</style>

..
..
..
    <p>
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi gravida risus elementum tortor. Duis mattis, est et volutpat cursus, mi mi ornare tortor, sed fringilla nibh erat sed eros. In nec orci vel velit scelerisque ultrices. Nunc auctor elit. Proin orci ligula, luctus a, venenatis sit amet, laoreet a, mauris. Suspendisse sem nibh, interdum eu, vestibulum non, semper vel, mauris. In quis leo suscipit risus semper pretium. Cras interdum iaculis dui. Etiam vel ipsum eu sapien dapibus sagittis. Donec lobortis, lectus et placerat euismod, quam dui porttitor sem, sed fermentum eros quam ac ipsum. Ut eu augue. Nullam lacinia dictum neque. Nullam eros. Phasellus sem nisi, feugiat nec, consectetur vel, ullamcorper at, nisl. Aenean quam risus, ullamcorper a, ultricies ut, posuere ac, quam. Vestibulum sed lectus ac orci fermentum viverra. Sed aliquam. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
    </p>
...