Вы можете расширить виджет автозаполнения следующим образом:
$.widget( "ui.autocomplete", $.ui.autocomplete, {
_renderMenu: function (ul, items) {
var that = this;
// add a blank item
if (this.options.blankItem) {
var blank = [{
id: "",
label: "<none>",
value: ""
}];
items = blank.concat(items);
}
$.each(items, function (index, item) {
var rendered = that._renderItemData(ul, item);
// ensure min height on blank item. hmm, maybe a class would be better...
if (index === 0 && that.options.blankItem) {
$(rendered).find('div').css('minHeight', '30px');
}
});
}
});
И затем использовать его следующим образом:
$( "#textbox" ).autocomplete({
source: contactNames,
blankItem: true
})
Вот для этого Fiddle .
Если вы по какой-то причине предпочитаете не расширять виджет, вы можете добавить функцию к методу change
следующим образом:
$( "#textbox" ).autocomplete({
create: function(){
$(this).data('ui-autocomplete')._renderMenu = function( ul, items ) {
[ _renderMenu function contents... ]
}
}
})