如何解决使用文本的搜索功能? [英] How to solve search functionality of text using?
本文介绍了如何解决使用文本的搜索功能?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
http://jsfiddle.net/ravi1989/wjLmx/24/
嗨
我在搜索文本时遇到问题
1)当我搜索N时。将所有小的n转换为大写N。 />
2)如果在文本字段中添加特殊字符,则附加文本..example& .it附加& ..
http://jsfiddle.net/ravi1989/wjLmx/24/
Hi
I am facing to issues while searching a text
1) when i search for "N" .it convert all small "n" into capital "N".
2) If add special character in text field it append the text ..example "&" .it append with &..
function searchAndHighlight(searchTerm, selector) {
if (searchTerm) {
//var wholeWordOnly = new RegExp("\\g"+searchTerm+"\\g","ig"); //matches whole word only
//var anyCharacter = new RegExp("\\g["+searchTerm+"]\\g","ig"); //matches any word with any of search chars characters
var selector = selector || "#realTimeContents"; //use body as selector if none provided
var searchTermRegEx = new RegExp(searchTerm, "ig");
var matches = $(selector).text().match(searchTermRegEx);
if (matches != null && matches.length > 0) {
$('.highlighted').removeClass('highlighted'); //Remove old search highlights
//Remove the previous matches
$span = $('#realTimeContents span');
$span.replaceWith($span.html());
$(selector).html($(selector).html().replace(searchTermRegEx, "<span class='match'>" + searchTerm + "</span>"));
$('.match:first').addClass('highlighted');
var i = 0;
$('.next_h').off('click').on('click', function () {
i++;
if (i >= $('.match').length) i = 0;
$('.match').removeClass('highlighted');
$('.match').eq(i).addClass('highlighted');
$('.ui-mobile-viewport').animate({
scrollTop: $('.match').eq(i).offset().top
}, 300);
});
$('.previous_h').off('click').on('click', function () {
i--;
if (i < 0) i = $('.match').length - 1;
$('.match').removeClass('highlighted');
$('.match').eq(i).addClass('highlighted');
$('.ui-mobile-viewport').animate({
scrollTop: $('.match').eq(i).offset().top
}, 300);
});
if ($('.highlighted:first').length) { //if match found, scroll to where the first one appears
$(window).scrollTop($('.highlighted:first').position().top);
}
return true;
}
}
return false;
}
$(document).on('click', '.searchButtonClickText_h', function (event) {
$(".highlighted").removeClass("highlighted").removeClass("match");
if (!searchAndHighlight($('.textSearchvalue_h').val())) {
alert("No results found");
}
});
推荐答案
(selector).text()。match(searchTermRegEx);
if (匹配!= null && matches.length > 0 ){
(selector).text().match(searchTermRegEx); if (matches != null && matches.length > 0) {
( ' 。突出显示')。removeClass(' 突出'跨度>); // 删除旧的搜索精选
// 删除以前的匹配
('.highlighted').removeClass('highlighted'); //Remove old search highlights //Remove the previous matches
span =
这篇关于如何解决使用文本的搜索功能?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文