我们可以动态添加和删除引导程序typeahead吗?动态添加和删除引导程序typeahead
意味着在某些情况下,我需要给一个文本框提供typeahaed功能,并且需要在另一种情况下为相同的输入框删除此功能。
我们可以动态添加和删除引导程序typeahead吗?动态添加和删除引导程序typeahead
意味着在某些情况下,我需要给一个文本框提供typeahaed功能,并且需要在另一种情况下为相同的输入框删除此功能。
我已经使用了
$('.typeahead').removeClass('dropdown-menu');
和
$('.typeahead').addClass('dropdown-menu');
隐藏显示下拉建议。
是的,你可以。这是使用jQuery的方法.unbind()
例如很简单:
$('.typehead').typehead();
//and then you can dynamically unbind this plugin
$('.typehead').unbind();
我不得不使用一种不同的(和hackier)解决方案,因为我每次更改typeahead数据并且无法获得其他答案。如果有人需要,我会把它留在这里。
取出事先键入的内容
var parent = $('.typeahead').parent();
var html = parent.html();
$('.typeahead).remove();
parent.html(html);
加入事先键入的内容
$('.typehead').typehead();
我知道我迟到了,下面将删除,而不只是隐藏。
$('.typeahead').typeahead('destroy');
+1当使用相同的字段进行填充时(例如在弹出窗口中),这会有所帮助。字段不会自动清除,这样可以在不干扰字段和/或其内容的情况下以静默方式移除'typeahead'。这也是正确的方法来删除键入 – Pierre
这不适用于我的应用程序。它摆脱了完全不同区域的数据。但我重新使用了我的前端,因此我需要一些方法来刷新它所拖动的数据。 – user2847749
不知道为什么它不适合你。你正在使用远程或预取?你使用IE吗? IE有时会有缓存问题。如果是IE,你可以尝试添加'$ .ajaxSetup({cache:false});'修复IE。 –
此代码适用于我。
var typeaheadEle = $('#myTypeahead').data('typeahead');
if (typeaheadEle) {typeaheadEle.source = [];}
其中myTypeahead是输入元素的ID。
这是使用Bootstrap v2.3.2的最佳方法,imo。 –
我发现$('.some-typeahead-parent .tt-dropdown-menu').hide();
最适合用于多数据集typeahead。
Thankx!为你的时间。但我不能使用解除绑定。但我用 $('。typeahead')。removeClass('dropdown-menu'); 这种隐藏下拉的方法。并再次添加此类 –
请谨慎使用此方法,因为这会从所选DOM元素中删除所有事件侦听器,而不仅仅是“模糊”,“焦点”,“输入”和“keydown” ')。 –