X-Editable - typeshead版本(?)冲突

时间:2014-06-10 08:08:19

标签: javascript typeahead.js x-editable

我使用x-editable,如下所示:

<a id="manager" href="#"  data-name="ManagerId" data-type="typeaheadjs" data-pk="1" data-url="/post" data-title="Input manager"></a>

所有内容都以js代码开头(取自docs示例):

$('#manager').editable({
    value: 'ru',
    typeahead: {
        name: 'country',
        local: [
        { value: 'ru', tokens: ['Russia'] },
        { value: 'gb', tokens: ['Great Britain'] },
        { value: 'us', tokens: ['United States'] }
        ],
        template: function (item) {
            return item.tokens[0] + ' (' + item.value + ')';
        }
    }
});

除非引用了typeahead 0.9.3,否则一切正常。如果我将typeahead更新到0.10.2,则自动完成框不可见( Local替换为Source of course )。怎么能让typeahd 0.10.2工作?我不想在同一个网站上使用这两个版本。 X-Editable是1.5.0。

没有X-Edtiable的Typeahead 0.10.2工作正常。

1 个答案:

答案 0 :(得分:-1)

TypeaheadJS 0.10.x 专为 Bootstrap v3 设计(如果我错了,请纠正我) 他们已经改变了初始化typeahead的方式,因此x-editable typehead扩展将不再起作用。请参阅以下内容,了解如何在两个版本中初始化。

* TypeheadJS v0.9.x:

$input.typehead(options)

* TypeheadJS v0.10.x: $ input.typehead(options,datasets)在这里查看这个:https://twitter.github.io/typeahead.js/examples/

快速修复: 编辑input-ext / typeaheadjs.js

更改

this.$input.typeahead(this.options.typeahead);

收件人:

this.$input.typeahead(this.options.typeahead.options, this.options.typeahead.datasets);

然后在你打电话时,你可以这样做:

$field.editable({
    typehead: { 
        options: { 
        minLength: 3,
        hint: true,
    }, 
    datasets: { 
        source: ....
    } 
});

希望它有所帮助!