2015-02-11 59 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,