Typeahead.js 失去焦点事件

4
我正在使用Twitter Typeahead。当我在文本框中预加载数据并且在blur事件上,文本框被清除时存在问题。这是类型前进中已知的问题,并且据说已经修复。但是我无法弄清楚如何实施修复。
我在(document).ready函数中这样初始化我的typeahead。
$('#myTextbox').typeahead({
    name: 'Typeahead',
    valueKey: "Value",
    remote: '/ServiceHandlers/myHandler.ashx?Method=Typeahead&Query=%QUERY',
    template: ['<p>{{Value}}</p>'],
    engine: Hogan
});

问题要求添加类似以下内容的东西。
$('.typeahead').typeahead('setQuery', '');

但我不太清楚这个应该放在哪里。有没有关于如何解决这个问题的建议?


你尝试过在初始化typeahead的代码后面加上$('#myTextbox').typeahead('setQuery', '');吗? - clav
是的。这似乎只是在失去焦点时将查询和文本框中的文本设置为空白。这会导致与现在相同的问题。 - Barry Tormey
2个回答

9

搞定了!

只需要设置

$('#myTextbox').typeahead('setQuery', $(#myTextbox).val()); 

typeahead.open函数中。

6
API已更改。现在是$('#myTextbox').typeahead('val', $(#myTextbox).val()); - PeteG
你好。我仍然无法使其正常工作。我的问题是,当我查看结果并尝试浏览它们(上/下)时,输入框会被清空。如何避免这种情况? - huglester

1

Here was my solution:

var typeaheadElement = $('element-selector');
typeaheadElement.bind('typeahead:open', function() {
  typeaheadElement.typeahead('val', typeaheadElement.val());
});

一个不错的简单解决方案。对我来说非常有效。 - jmichas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接