我正在使用带有Bootstrap标签输入的Twitter typeahead。代码如下所示:
$(selector).tagsinput('input').typeahead({
name:'tags',
remote: "/admin/tags/search/%QUERY?format=json"
}).bind('typeahead:selected', function (object, datum) {
$(selector).tagsinput('add', datum);
$(selector).tagsinput('input').typeahead('setQuery', 'test');
});
这几乎是从这里的示例复制过来的:http://timschlechter.github.io/bootstrap-tagsinput/examples/bootstrap3/ (要查看原始示例,您需要单击Typeahead部分中的“Show code”。
它的工作方式与$(selector).tagsinput('input').typeahead('setQuery', '');
行不同,这行代码给出了这个错误:
Uncaught TypeError: Object [object Object] has no method 'setQuery'
在建议被添加到标签列表之后,该行应该重置已经输入到typeahead控件中的文本。如果我在even回调之外添加相同的行,如下所示:
$(selector).tagsinput('input').typeahead('setQuery', 'test');
它起作用了。
我注意到的唯一一件事是,$(selector).tagsinput('input').typeahead
在事件处理函数外部和内部都指向一个不同的函数。
有什么想法吗?
发布于 2014-03-10 13:59:08
我写这篇文章
$("#TagsInput").tagsinput("input").typeahead("val", "");
发布于 2014-02-12 15:40:56
我也有同样的问题。There你可以看到正确的用法。
您必须在第二行设置typeahead:
$(selector).tagsinput();
$(selector).tagsinput('input').typeahead('setQuery', '');
https://stackoverflow.com/questions/20843763
复制