4

我有一个带有一个文本输入和一个 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/

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

4

2 回答 2

5

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

文档网址: 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/

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

于 2015-07-20T10:04:26.153 回答
0

上面的代码有效,但变化不大

更改此代码 $("input").on("change", function () { $("#e1").select2("open"); });

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

$("input").on("click", function () {
    $("#e1").select2("open");
});
于 2016-05-17T07:14:03.580 回答