我不想在我的代码local: ['LONDON', 'BERLIN', 'NEW YORK', 'MADRID']
中打印所有城市。我想在每次用户输入一个字母时进行查询。
我可以使用ajax来使用“x-editable typeahead”自动完成吗?
HTML:
<li><label class="control-label">CITY:</label> <span id="userCity" data-
type="typeaheadjs" data-pk="cityID" data-name="users">PARIS</span></li>
JS:
$('#userCity').editable({
url: 'ajax/editUser.php',
typeahead: {
local: ['LONDON', 'BERLIN', 'NEW YORK', 'MADRID']
}
});
答案 0 :(得分:1)
以防这可能对某人有所帮助,看起来X-Editable的当前1.5.1版本不支持将dataset
参数传递给typeahead构造函数。有一个pull请求可以实现对此处记录的https://github.com/vitalets/x-editable/pull/664的支持。
要快速解决此问题,您需要更新第45行附近的inputs-ext/typeaheadjs/typeaheadjs.js
:
this.$input.typeahead.apply(this.$input, this.options.typeahead);
然后您可以将X-Editor实例化为:
var bloodhound = new Bloodhound({
remote: '/url/to/json/output'
// any other bloodhound options here
});
bloodhound.initialize();
$('#editable-field').editable({
type: 'typeaheadjs',
typeahead: [{
hint: true,
highlight: true
// any other typeahead options
}, {
source: bloodhound.ttAdapter()
// any other dataset options
}]
});