2015-02-11 60 views
-3

我想弄清楚如何更改从搜索查询返回的字符串中特定单词的颜色。我已经通过SignalR从服务器传递了一个集合和它的搜索条件,并且理想地用一些HTML代替单词。任何指针将不胜感激。更改从搜索查询返回的字符串中单词的颜色

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

+0

为什么选择投票?真正的问题。 – 2015-02-11 21:23:37

+0

我认为我们需要了解更多关于“门票”的信息。另外,你检查'console.log(描述);'? – 2015-02-11 21:29:37

+0

你不需要知道任何有关门票的内容。除了它的工作原理,它构建在后端C#中,并通过SignalR传递。门票是一个描述作为财产的集合。诚实地说,我更了解后端而不是客户端。所以我很失礼投票。无论如何谢谢你,我会看看console.log。 – 2015-02-11 21:34:45

回答

0

哎呀略显尴尬!我实际上是手写了这个问题,然后回到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>" 

道歉!完全菜鸟的错误。

Regards,