Вы можете попробовать переписать метод updateChoices следующим образом:
Ajax.Autocompleter.prototype.updateChoices = function (choices) {
if(!this.changed && this.hasFocus) {
if(!choices) {
//do your "new item" thing here
}
else {
this.update.innerHTML = choices;
Element.cleanWhitespace(this.update);
Element.cleanWhitespace(this.update.down());
if(this.update.firstChild && this.update.down().childNodes) {
this.entryCount =
this.update.down().childNodes.length;
for (var i = 0; i < this.entryCount; i++) {
var entry = this.getEntry(i);
entry.autocompleteIndex = i;
this.addObservers(entry);
}
} else {
this.entryCount = 0;
}
this.stopIndicator();
this.index = 0;
if(this.entryCount==1 && this.options.autoSelect) {
this.selectEntry();
this.hide();
} else {
this.render();
}
}
}
}
Это не очень хорошая идея, чтобы перезаписать в controls.js. Вместо этого вы можете добавить это в новый .js и включить его после библиотеки.
РЕДАКТИРОВАТЬ: pff .. извините за плохие отступы, но это копирование / вставка из TextMate и имеет вкладки в сочетании с пробелами. Я надеюсь, что вы поняли, хотя. Единственное, что я добавил, было
if(!choices) {
//do your "new item" thing here
}
else {}
блок. Кроме того, я не тестировал код, но думаю, что он должен работать.