2011-06-03 82 views
0

在我的代碼我使用下面,來格式化我的自動完成結果:jQuery UI - 自動完成 - 條件renderitem?

$.ui.autocomplete.prototype._renderItem = function (ul, item) { 
    item.label = item.label.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + $.ui.autocomplete.escapeRegex(this.term) + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>"); 

    return $("<li></li>") 
    .data("item.autocomplete", item) 
    .append("custom strong goes here....") 
    .appendTo(ul); 
}; 

我有一個autocompelte場:

$("#autoSearch").autocomplete({ 
source: function(request, response) { 
$.ajax({ 
    url: "index.pl", 
    dataType: "json", 
    data: { 
      term: request.term 
    }, 
    success: function(data) { 
     response($.map(data.items, function(item) { 
      return { 
       itemclass: item.itemclass, 
       label: "<B>" + item.id + "</b><br>" + item.label, 
       value: item.id 
       } 
     )); 
    } 
}); 
}, 
minLength: 2 
}); 

現在我想添加一個自動完成場,但我不不想將渲染項目應用到它。我如何添加一個選擇器的renderitem聲明,或者我可以在上面的autoSearch代碼中以某種方式包含它?

回答