通过javascript/jquery关闭select2下拉列表
你好,如何通过jquery或javascript正确关闭select2下拉列表 目前,我正在使用通过javascript/jquery关闭select2下拉列表,javascript,jquery,html,twitter-bootstrap,jquery-select2,Javascript,Jquery,Html,Twitter Bootstrap,Jquery Select2,你好,如何通过jquery或javascript正确关闭select2下拉列表 目前,我正在使用选择2 dropdown.toggle()将其关闭 但我注意到它只是隐藏列表,select2框仍然高亮显示 我想失去它的焦点或类似的东西,只是为了正确地关闭它,能够得出这样一个结果 顺便说一句,屏幕截图是黑色的,因为那些select2框处于引导模式下,每当我按enter键时都会出现 任何建议都将不胜感激!提前谢谢 select2-dropdown.blur(); 我想这就是你要找的。 您在我刚才创建
选择2 dropdown.toggle()
将其关闭
但我注意到它只是隐藏列表,select2框仍然高亮显示
我想失去它的焦点或类似的东西,只是为了正确地关闭它,能够得出这样一个结果
顺便说一句,屏幕截图是黑色的,因为那些select2框处于引导模式下,每当我按enter键时都会出现
任何建议都将不胜感激!提前谢谢
select2-dropdown.blur();
我想这就是你要找的。
您在我刚才创建的JSFIDLE中有一个示例。这一个对我很有用
$(“#选择2放置掩码”)。单击()代码>我知道这是一个老问题,但为了使用API做到这一点,您只需执行以下操作:
选择2 API
$("#select2-drop-mask").select2("close");
这个问题还提到了引导模式对话框,这往往是人们希望以编程方式关闭它的原因
对于任何人的信息,这是你如何做到的:
引导3
$('#myModal').on('hidden.bs.modal', function () {
$('#select2-drop-mask').select2("close");
})
引导程序2
$('#myModal').on('hidden', function () {
$('#select2-drop-mask').select2("close");
})
在v4.0中,其他答案都不适用于我。使用jQuery只选择掩码没有效果。我必须使用选择框本身的id:
$("#mySelectElement").select2("close")
这也有效,但可能不是首选:
$("#mySelectElement").select2().trigger("select2:close");
另外,对于引导程序3,隐藏.bs.modal
事件太晚,select2掩码将在动画期间停留一秒钟。hide.bs.modal
对我们来说更加顺畅:
$('#modalYourModal').on('hide.bs.modal', function () {
//close select2 in case its open
$("#mySelectElement").select2("close");
});
select2下拉菜单-*mask*
对我不起作用,但下面的选项确实起作用
$('#select2-drop').select2('close');
关闭引导版本4及更高版本中的所有。尝试:
$('body').trigger('mousedown');
尝试->关注任何其他元素。谢谢@TusharGupta的建议,但我已经这样做了,我确实在模态上设置了文本框,以便在模态显示时聚焦。谢谢@mbecares的回答,这也是我的想法,我应该使用blur()函数,但它仍然不起作用。顺便说一下,我在使用文本框,因为你不能在“select”@stevemoretz上使用select2的ajax函数-有没有办法按类关闭它们?(不需要使用每个ID)@BeninCA可能通过使用$('.ID').each(function()){$(this).select2('close');}@stevemoretz-像这样尝试,但没有成功:$('.select2')。each(function(){$(this).select2('close');})改为发布了一个新问题:@BeninCA这就是为什么我说这些东西可能有点连线。特别是在不同的版本中,你会得到不同的结果。希望这个新问题能得到好的最新答案