XML에로드 된 입력 소스에서 페이지에 표시된 현재 정보를 검색하는 코드가 있습니다. 그러면 단어가 몇 번 발견되었는지, 현재 모든 행을 표시하고 있지만 단어가 발견 된 행을 표시해야합니다. 코드는jquery를 사용하여 검색에서 일치하는 행 표시
function searchResults(query) {
var temp = "\\b" + query + "\\b";
var regex_query = new RegExp(temp, "gi");
var currentLine;
var num_matching_lines = 0;
$("#mainOutput").empty();
$("LINE", g_playDOM).each(
function() {
currentLine = $(this).text();
matchesLine = currentLine.replace(regex_query,
'<span class="query_match">' + query + '</span>');
if (currentLine.search(regex_query) > 0)
num_matching_lines++;
$("#mainOutput").append("<p>" + matchesLine + "</p>");
});
$("#sideInfo").append(
"<p>Found " + query + " in " + num_matching_lines + " lines</p>");
}
$(document).ready(function() {
loadPlay();
$("#term_search").focus(function(event) {
$(this).val("");
});
$("#term_search").keypress(function(event) {
if (event.keyCode == 13)
searchResults($("#term_search").val());
});
$('#term-search-btn').click(function() {
searchResults($("#term_search").val());
});
});
</script>
입니다. 현재 단어가있는 줄 수는 올바르게 표시됩니다.
바이올린 좋을 수 있습니다. – gdoron