Select2 在焦点文本输入上打开下拉菜单

Posted

技术标签:

【中文标题】Select2 在焦点文本输入上打开下拉菜单【英文标题】:Select2 open dropdown on focus text input 【发布时间】:2015-10-04 01:43:49 【问题描述】:

我有一个带有一个文本输入和一个 select2 元素的表单(版本 4.0.0)。我想当专注于文本输入时,select2打开。

这是我尝试过的:

<select list="userAccountsMap.values" listKey="accountNo" listValue="accountNo"/>
<input id="destinationAccount" type="text" name="destinationAccount">

<script type="text/javascript">

('select').each(function( index ) 
         $(this).select2();
     
);

$("#destinationAccount").focus(function ()     
   $("select").trigger('select2:open');
);

</script>

但这行不通。 在这里看小提琴:http://jsfiddle.net/Hatamikhah/73wypp1w/1/

我不明白我的问题是什么。

【问题讨论】:

【参考方案1】:

他们已经举例说明了如何打开下拉选项。

文档网址:https://select2.github.io/examples.html,请查看Programmatic access 部分。

HTML 部分:

<select id="e1">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select> 
<br>
<br>
<input type="text" id="nameID" name="firstname">

jQuery 部分:

$("#e1").select2();

// With change event
$("input").on("change", function () 
    $("#e1").select2("open");
);

// With focus event 
$( "input" ).focus(function() 
  $("#e1").select2("open");
);

用 onChange 事件试试这个例子:http://jsfiddle.net/mananpatel/73wypp1w/5/

如果您需要帮助,请告诉我:)

【讨论】:

效果很好。很棒【参考方案2】:

上面的代码可以工作,但变化不大

更改此代码 $("输入").on("改变", function () $("#e1").select2("open"); );

到此代码,然后您可以执行此功能

$("input").on("click", function () 
    $("#e1").select2("open");
);

【讨论】:

以上是关于Select2 在焦点文本输入上打开下拉菜单的主要内容,如果未能解决你的问题,请参考以下文章

Select2 搜索输入在打开时未获得焦点

当我们单击选择 2 下拉菜单时,将焦点设置为搜索文本字段

在输入焦点上打开引导下拉菜单

在 select2 clear 上禁用下拉打开

Select2 下拉菜单不会在单击时关闭

Bootstrap 3下拉菜单在子菜单焦点上更改背景