2011-03-02 38 views
-1

我得到了下面的代碼:jQuery的1.5自動完成Highligh不工作

field.autocomplete({ 
    minLength: 2, 
    source: function(request, response){ 
     $.getJSON('/data/autocomplete/' + param1 + "/" + param2, function(data){ 
      items = new Array; 
      for (var i = 0; i < data.length; i++) { 
       datum = data[i].taxon; 
       highlighted = highlight(taxon.nombre, cadena); 
       items[i] = { 
        label: highlighted , 
        value: datum.name, 
        id: datum.id 
       } 
      } 
    }      

}); 

function highlight(s, t) { 
    var matcher = new RegExp("("+$.ui.autocomplete.escapeRegex(t)+")", "ig"); 
    return s.replace(matcher, "<strong>$1</strong>"); 
} 

它運作良好:

LOR爲LOR EM impsum

ITA爲ITA LY

但我最近更新到jQuery 1.5和jQuery UI 1.8.10,現在它轉義字符

LOR爲<b> LOR </B > EM存有

ITA爲<b> ITA </B > LY

任何想法?

+0

jQuery 1.9?從哪裏得到 – Rafay 2011-03-02 19:44:24

+0

對不起... jQuery 1.5和jQuery 1.8.10 – VMOrtega 2011-03-02 21:15:30

+0

您是否改變了數據格式化的方式?沒有理由增加這樣的換行符...... – dmackerman 2011-03-02 21:33:53

回答

0

試試jQuery 1.5.1。它在升級到jQuery 1.5後爲我修復了它,給IE中的自動完成提供了getElementsByTagName錯誤。