更改字符串中's已从搜索查询中返回

Change color of words in a string that's been returned from a search query

本文关键字:搜索 查询 返回 字符串      更新时间:2023-10-10

我正试图弄清楚如何更改从搜索查询返回的字符串中特定单词的颜色。我已经通过SignalR从服务器上传递了一个集合及其搜索词,理想情况下,我希望用一些HTML来替换这些词。任何Pointers都将不胜感激。

var searchReturnHTML = "";
            //tickets is the collection returned
            $.each(tickets, function ()
            {
                var tickets = this;
               //Search terms used in the query
                var data = tickets.SearchTerms;
               //Split the search terms
                var arr = data.toString().split(',');
                //Property in the collection
                var description = tickets.description;
                //Loop through the search term collection
                $.each(arr, function (k,v)
                {
                    //Apply color change, if a search term is matched in the return property string
                    var re = new RegExp(v, "g");
                    description = description.replace(re, "<span style='color:red;'>" + v + "</span>");
                });
                //Return HTML
                searchReturnHTML += "<div class='search-return-item'>" +
                                        "<p>#" + tickets.ticketID + "</p>" +
                                        "<p>" + description + "</p>" +
                                        "<p>" + "From: " + tickets.name + "</p>" +
                                        "<p><strong>" + tickets.SearchTerms + "</strong></p>" + 
                                   "</div>"

            });

此时,描述返回为NaN。我不完全确定为什么。有什么想法吗?这在没有字符串操作的情况下可以正常工作。

问候,

Tez

天哪,有点尴尬!事实上,我手写了这个问题,然后回到VS中的代码,意识到我错过了一些让它发挥作用的基本内容。

基本上我没有提到"描述"变量

searchReturnHTML += "<div class='search-return-item'>" +
                                        "<p>#" + tickets.ticketID + "</p>" +
                                        "<p>" + **description** + "</p>" +
                                        "<p>" + "From: " + tickets.name + "</p>" +
                                        "<p><strong>" + tickets.SearchTerms + "</strong></p>" + 
                                   "</div>"

很抱歉浪费了你的时间!完全是新手的错误。

问候,