清除Typeahead.JS查询时出现缺少源错误
Missing Source error when clearing Typeahead.JS query
我试图在字段("#addtags")
上使用Twitter的typeahead.js来建议添加标签,但当我选择某个内容时,该字段会在应该清除时保留我刚刚输入的值。
我尝试了这里提供的解决方案(设置typeahead的选定值),即使用$("#id").typeahead('setQuery', query);
清除字段。然而,当我这样做时,我的控制台中出现了一个错误:Uncaught Error: missing source.
有办法绕过这个吗?清除字段的代码是底部上方的一行,其余部分为上下文提供。
//===========================
//Typeahead.js
//===========================
var tagApi = $("#addtags").tagsManager();
var addtags = new Bloodhound({
datumTokenizer: function(d) { return Bloodhound.tokenizers.whitespace(d['tag']); },
queryTokenizer: Bloodhound.tokenizers.whitespace,
dupChecker:true,
// remote: '/tags/tags/search.json?q=%QUERY',
prefetch: {url: '/tags/tags/search.json?q='}
});
addtags.initialize();
$('#addtags').typeahead({
hint:true,
highlight:true,
autoselect:false,
dupChecker:true,
},
{
displayKey: 'tag',
source: addtags.ttAdapter(),
}).on('typeahead:selected', onTagSelect);
function onTagSelect($e, datum) {
tagApi.tagsManager("pushTag", datum['tag']);
//This is where I'm trying to clear the input:
$('#addtags').typeahead('setQuery', '');
};
我创建了一个jsfiddle来展示如何清除所选建议:
http://jsfiddle.net/Fresh/ecq0c0ph/
尝试搜索电影,然后选择一个建议;该建议将用于填充一些字段,然后将清除查询输入控件。
简言之,为了在选择建议时清除建议,请为Typeahead的所选事件创建一个事件处理程序,然后使用其API将值设置为空字符串,例如
.bind("typeahead:selected", function () {
$('.typeahead').typeahead('val', '');
});
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 我如何修复包含在captcha的addthis中的错误
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- CKFinder 3为所选文件返回错误的URL
- Twitter Bootstrap typeahead:使用“this”获取上下文/调用元素
- 同位素库错误:未捕获错误无布局模式包装生产线8
- Bloodhound的新Typeahead是如何处理错误的
- “Twitter-typeahead”gem 语法错误
- Typeahead调用函数.val.open.colose等会引发错误
- AngularJS-“;错误:模板必须只有一个根元素“”;当使用Angular UI Typeahead时
- 清除Typeahead.JS查询时出现缺少源错误
- Typeahead.js没有错误,但不能工作
- ExtJS 4.2 - Tab 在组合框中选择错误的值,键入快速键入时为 typeAhead:true
- 使用typeahead-loop错误从json创建动态li元素