目前看来,我不是在bootstrap typeahead上自动选择(参见下面的代码),这工作正常,但是之前当用户点击输入时,它使用autoselect [0],现在它正在清除细胞,我该怎么做才能使它保持当前细胞的内容。
禁用自动选择并在bootstrap-typeahead.js上突出显示的代码:
$.fn.typeahead.Constructor.prototype.render = function (items) {
var that = this;
items = $(items).map(function (i, item) {
i = $(that.options.item).attr('data-value', item);
i.find('a').html(that.highlighter(item));
return i[0];
});
this.$menu.html(items);
return this;
};
答案 0 :(得分:2)
您已停止将类active
放在突出显示的项目上,但bootstrap不知道如何处理此问题。您需要做的是更改select
函数,如果没有active
类,则不要执行它通常执行的操作。这是代码
$.fn.typeahead.Constructor.prototype.select = function () {
if (this.$menu.find('.active').length) {
var val = this.$menu.find('.active').attr('data-value')
this.$element
.val(this.updater(val))
.change()
return this.hide()
}
}