I've upgraded Select2
from version 3.5.2
to version 4.0.
We have plenty of forms with many fields filled in by typists.
In the old version (3.5.2
) the typists would use the following sequence:
Tab
to both select the result and move on to the next field$("select").select2();
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/3.5.2/select2.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/3.5.2/select2.min.js"></script>
<style>
input {
display:block;
margin:10px 0;
}
</style>
<input type=text/>
<select>
<option value="1">1. Option A</option>
<option value="2">2. Option B</option>
<option value="3">3. Option C</option>
<option value="4">4. Option D</option>
<option value="5">5. Option E</option>
</select>
<input type=text/>
On version 4.0
the typists must:
Enter
Enter
again$("select").select2();
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.min.js"></script>
<style>
input {
display:block;
margin:10px 0;
}
</style>
<input type=text/>
<select>
<option value="1">1. Option A</option>
<option value="2">2. Option B</option>
<option value="3">3. Option C</option>
<option value="4">4. Option D</option>
<option value="5">5. Option E</option>
</select>
<input type=text/>
Is there a way around this apparent downgrade in functionality?
I don't want to resort to v3.5.2
because I'm using AJAX on <select>
elements which is not supported in this version (one must use hidden <input>
tag instead)
To trigger the opening of select2 on focus use jQuery's native "focus" event & select2 "open" event. Important: Make it on DOM is ready.
$( document ).ready(function() {
$(".select2-selection").on("focus", function () {
$(this).parent().parent().prev().select2("open");
});
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With