您好我需要在“source”属性中获取输入元素:
$('.typeahead').typeahead(null, {
source: function (query, process) {
var element = $(this);
我期待一个“输入”元素,但我得到:
[Dataset, jquery: "2.1.1", constructor: function, selector: "", toArray: function, get: function…]
答案 0 :(得分:3)
Twitter中的Typeahead Bootstrap 3.0改变了“this”对象的设置方式。
我以这种方式访问input元素:
var element = $(this.$el[0].parentElement.parentElement).children("input").first();
...丑
答案 1 :(得分:0)
不确定我是否完全理解你的问题:/
而不是var element = $(this);
使用:
var element = $(this)[0];
或者更好的是:
var element = this;
<强>更新强>
source - 建议的支持数据源。预计是一个 带签名的函数(query,cb)。这是预料之中的 函数将计算建议集(即JavaScript数组) 查询然后用所述集调用cb。可以调用cb 同步或异步。 Bloodhound建议引擎可以 在这里使用,了解如何,请参阅Bloodhound Integration。的必需强>
<强>参考强>
https://github.com/twitter/typeahead.js/blob/master/doc/jquery_typeahead.md
https://github.com/twitter/typeahead.js/blob/master/doc/jquery_typeahead.md#bloodhound-integration