1

就目前而言,我没有在引导输入上自动选择(参见下面的代码),这工作正常,但以前当用户点击输入时,它使用自动选择 [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;
};

http://jsfiddle.net/isherwood/vvK3b/

4

1 回答 1

2

您已停止将类active放在突出显示的项目上,但引导程序不知道如何处理此问题。你需要做的是改变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()
    }
}

http://jsfiddle.net/isherwood/vvK3b/1/

于 2013-05-30T20:04:51.760 回答