我使用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工作正常。
答案 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: ....
}
});
希望它有所帮助!