Bootstrap3 Typeahead - 在“远程”中调用函数
本文关键字:调用 函数 远程 Typeahead Bootstrap3 | 更新日期: 2023-09-27 18:37:28
我升级到 Bootstrap 版本 3.0,但我确实看到预键入模块不存在。我正在使用 Web 服务,并且使用以下方法来调用我的函数并填充我的数据集。但是,使用 twitter typeahead.js,我如何调用我的函数或如何仍然使用旧的 typeahead 模块?非常感谢您的帮助。谢谢。
$("#searchVendor").typeahead({
source: function (query) {
vieModel.callWebServiceFunctionList(counter1, query, isListCleared);
});
Typeahead.js没有办法直接使用函数作为source
。传递查询值的标准方法是使用 remote
属性中包含%QUERY
的 URL 字符串:
$("#searchVendor").typeahead({
remote: '.../data.json?name=%QUERY'
});
但是,在您的情况下,这可能还不够。 remote
也可以是一个对象,具有应用于 URL 的url
和replace
函数。
因此,创建一个像callWebServiceFunctionList
这样的函数,它只返回 URL,而不是实际调用 Web 服务。
$("#searchVendor").typeahead({
remote: {
url: '.../data.json?counter=%COUNTER&query=%QUERY&isListCleared=%ISLISTCLEARED',
replace: function(url, query) {
return url.replace('%COUNTER', counter1).replace('%QUERY', query).replace('%ISLISTCLEARED', isListCleared);
}
});
请参阅remote
对象的文档。
或者,您可以只获取 Bootstrap 2.x 的预键入部分的 JS,虽然您可能会遇到格式问题,但它本身似乎工作正常(JSFiddle 演示)。